c – C:使用错误:“化合物分配”和“前缀减量”一起使用
作者:互联网
有人可以告诉我为什么C编译器在同时使用复合赋值和前缀Dec / Inc时输出错误? [但C没有]
int myVar = 5;
(--myVar) -= 4;
// C : error C2106: '-=' : left operand must be l-value
// C++: myVar=0;
我知道错误说的是什么……
但是,我无法理解为什么C编译器不能将myVar识别为l值但C会这样做?!
解决方法:
在C中,prefix – 运算符产生一个rvalue. rvalue不能是赋值运算符的左操作数.也就是说,C和C是两种不同的语言.
标签:c-3,compound-assignment,c,compiler-errors,prefix-operator 来源: https://codeday.me/bug/20190824/1710407.html