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
识别为l-value ,但是 C++
是?!
在C中,前缀--
操作员产生一个rvalue。RVALUE不能是任务运营商的左操作数。也就是说,C和C 是两种不同的语言。