2014-02-27 93 views
1
int a; 
a = a+++a; // Why does this create no error but 
a = a+++++a; // Create a semantic error 

我有点困惑,为什么第二行不会产生任何错误 但为什么第三个创建语义错误?后增量和前增量和Rvals

+0

您正在使用哪种语言?将其添加为标签。 – Cramer

+0

适用于Java的LALR CUP – user3358627

回答

4

最大的蒙克。 a ++的结果是一个r-val。下一个运算符是++,它试图增加r-val并产生一个错误。