其他分享
首页 > 其他分享> > c – C:使用错误:“化合物分配”和“前缀减量”一起使用

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