2014-10-30 74 views
0

我有此代碼(http://pastebin.com/aWTsGDFW)當我試着建立它我有錯誤操作數無效二進制表達式(「浮動**」和「浮動」 )在行中「* amount = & amount + productPrice;」在addToAmount操作中。任何人都幫助我?謝謝!C的誤差:無效操作數的二進制表達式(「浮動**」和「浮動」)

相關的代碼粘貼如下:

void addToAmount (float *amount, float price, int qtt, char promo, float VAT){ 

    float productPrice; 

    productPrice = 0.0; 

    if (promo == PROMO_NONE){ 
     productPrice = computeNoPromoPrice(price, qtt, VAT); 
    }else{ 
     if(promo == PROMO_3x2){ 
      productPrice = computeNxMPromoPrice(3, 2, price, qtt, VAT); 
     }else{ 
      if(promo == PROMO_2x1){ 
       productPrice = computeNxMPromoPrice(2, 1, price, qtt, VAT); 
      }else{ 
       productPrice = computeHalfPromoPrice (price, qtt, VAT); 
      } 
     } 
    } 

    *amount = &amount + productPrice; // <- error here 
} 
+4

您好,歡迎堆棧溢出。請閱讀如何提問的幫助頁面。具體來說,它反對堆棧溢出規則鏈接到外部代碼,而沒有代碼在問題本身。 – Amadan 2014-10-30 00:46:23

+0

'*量= *量+ productPrice;' – BLUEPIXY 2014-10-30 00:46:31

+0

你嘗試'*量+ = productPrice;'? – SleuthEye 2014-10-30 00:46:32

回答

0

您要添加的雙重float指針float價值和無厘頭:

*amount = &amount + productPrice; 

你應該改變該行到

*amount += productPrice; // Equivalent to *amount = *amount + productPrice; 

而且:你應該發佈鱈魚e在你的問題中格式正確。

+0

謝謝!它適用於*金額+ = productPrice;太!! – MurakamiKioto 2014-10-30 01:01:39

0
*amount = &amount + productPrice; 

等同於表示按金額指向的浮點數等於數量加上productPrice的內存地址。

*amount = *amount + productPrice; 

似乎是你想要做的。

+0

謝謝它的作品! – MurakamiKioto 2014-10-30 01:01:05

相關問題