Windows,MSVS 2010。
我无法理解为什么会产生编译错误:
#define INC(X) X++
int main() {
int X;
printf("%d", INC(X++));
return 0;
}
错误:
Error 1 error C2105: '++' needs l-value testing.cpp 19 1 testing
最佳答案
扩展宏的结果将是X++++
。
后缀++
运算符增加变量的值并返回增加前的值。它不返回左值(变量)——只是一个值。您不能将 ++
应用于它,就像您不能调用 3++
一样。
关于C: error C2105: '++' 需要左值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27581059/