2014-10-30 72 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

相关问题