错误:需要左值作为递增操作数

taj*_*taj 1 c++

以下代码给出此错误:

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

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

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

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

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

Ala*_*kes 5

结果j++是旧值j而不是引用j.您不能对其应用其他增量,因为您无法增加值.