2014-02-27 125 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併產生一個錯誤。