C:错误使用:"Compound Assignment" 和 "Prefix Decrement" 在一起
C: Error in Using: "Compound Assignment" and "Prefix Decrement" together
有人能告诉我为什么 C
编译器在同时使用 Compound Assignment
和 Prefix Dec/Inc
时输出错误吗? [ 但 C++
没有 ]
int myVar = 5;
(--myVar) -= 4;
// C : error C2106: '-=' : left operand must be l-value
// C++: myVar=0;
我知道错误是什么意思...
但是,我无法理解 为什么 C
编译器无法将 myVar
识别为左值 而 C++
是吗?!
在 C 中,前缀 --
运算符产生一个右值。右值不能是赋值运算符的左操作数。也就是说,C 和 C++ 是两种不同的语言。
有人能告诉我为什么 C
编译器在同时使用 Compound Assignment
和 Prefix Dec/Inc
时输出错误吗? [ 但 C++
没有 ]
int myVar = 5;
(--myVar) -= 4;
// C : error C2106: '-=' : left operand must be l-value
// C++: myVar=0;
我知道错误是什么意思...
但是,我无法理解 为什么 C
编译器无法将 myVar
识别为左值 而 C++
是吗?!
在 C 中,前缀 --
运算符产生一个右值。右值不能是赋值运算符的左操作数。也就是说,C 和 C++ 是两种不同的语言。