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

int changeBase ()
{

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


为什么会收到以下错误?


  需要左值作为赋值左操作数

最佳答案

for循环的最后一个条件是

getDigit() /= 10


这是写作的捷径

getDigit() = getDigit() / 10


这是无效的,您正在尝试为您的函数的返回值分配一个int(我假设),您不能这样做。

08-17 09:47