1

以下代码给出此错误:

int main()
{
    int i = 4, j=10;
    int k, l;

    k = ++ (++ i);
    l = (j++) ++;

    cout << "k : " << k << endl;
    cout << "l : " << l << endl;

    return 0;
}

如果有人能解释为什么会发生该错误,这将非常有帮助。

4

3 回答 3

5

结果j++是 的旧值j而不是对 的引用j。您不能对其应用另一个增量,因为您不能增加值。

于 2013-09-28T15:35:44.683 回答
2

因为当你写 时X ++,X 必须是一个变量,X 必须是你要递增的东西。(j++) ++错误也是如此,因为(j++)它不是变量。改写就j += 2行了。

有经验的程序员请注意,我知道这是一个严重的简化。

于 2013-09-28T15:33:38.980 回答
2

只需写 j += 2。为什么您以错误的方式使用 operator++ ?申请亲吻。

于 2013-09-28T15:37:43.320 回答