以下代码给出了此错误:
int main()
{
int i = 4, j=10;
int k, l;
k = ++ (++ i);
l = (j++) ++;
cout << "k : " << k << endl;
cout << "l : " << l << endl;
return 0;
}
如果有人能解释为什么会发生错误,那将非常有帮助。
答案 0 :(得分:5)
j++
的结果是j
的旧值,而不是对j
的引用。您无法对其应用其他增量,因为您无法增加值。
答案 1 :(得分:2)
因为当你写X ++
时,X必须是一个变量,X必须是你正在递增的东西。因此(j++) ++
是错误,因为(j++)
不是变量。只需改为编写j += 2
。
对于有经验的程序员来说,我知道这是一个大大简化。
答案 2 :(得分:2)
只写j + = 2.为什么你以错误的方式使用operator ++? 申请KISS。