怎么了 错误是什么意思:作为增量操作数需要的左值?(注意:这是一个教科书示例)
#include <iostream>
using namespace std;
int main()
{
int num1 = 0, num2 = 10, result;
num1++;
result = ++(num1 + num2);
cout << num1 << " " << num2 << " " << result;
return 0;
}
在++x
被称为前增量操作而x++
被称为后置。两者都需要一个可修改的“左值”变量作为操作数。在这种情况下x
是“左值”。
如果您有代码,y = ++x
则它的语义与
x = x + 1;
y = x;
因此,此特定代码++(num1 + num2)
实际上是在产生错误,因为num1 + num2
它不是有效的可修改变量,并且其语义为result = ++(num1 + num2)
:
num1 + num2 = (num1 + num2) + 1; // this is invalid
result = num1 + num2;
您可以将其修复为:
int x = num1 + num2;
result = ++x;
或更短的版本会产生相同的结果:
++(result = num1 + num2)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句