通过if语句将左值作为赋值错误的左操作数

时间:2012-10-02 00:00:37

标签: c++

我看过类似的问题,但是作为一个新手,他们没有多少帮助,当我尝试运行我的最终if语句我遇到这个错误时,我怎么能让我的cout声明更清楚?它的目的是输出它可以接受的垃圾袋数量,用户试图给它的数量,以及如果不能全部使用它们将剩下多少袋。

while(( reg < 50) && (met< 20) && (glass < 20))
{
reg=reg+reg; met=met+met; glass=glass+glass;
cout<< " I have enough "<< endl;


if(reg+=reg > 50){
cout<< "I can only accept " << 50 - (reg+=reg) << "of your " << (reg+=reg)<<" regular     bags of garbage, I'll leave the other " << 50 - (reg+= reg)<< " I'll leave the other " << reg- (50 - reg+=reg)<< endl;
}

1 个答案:

答案 0 :(得分:1)

50 - reg += reg;

operator+=的优先级低于operator-。以上陈述被解释为:

(50 - reg) += reg;

哪个不行。你可能想要:

50 - (reg += reg);
相关问题