为什么在for循环中接收赋值错误?

时间:2014-12-08 14:44:08

标签: c++

我有一个类成员函数如下:

int changeBase () 
{

    for (int i=1; getDigit()>0; i*=2, getDigit()/=10)
      {
        s+=(getDigit()%10)*i;
      }
        return s;
}

为什么会收到以下错误?

  

左值作为赋值的左操作数

1 个答案:

答案 0 :(得分:6)

for循环的最后一个条件是

getDigit() /= 10

这是编写

的简便方法
getDigit() = getDigit() / 10

这是无效的,您尝试将int(我假设)分配给您的函数的返回值,这是您无法做到的。