4

この質問をするのはとても愚かだと感じています。しかし、自分で理由を理解することはできません。

int main()
{
    int target;
    int buffer =10;
    const int source = 15;
    target = (buffer+=source) = 20;
    cout << target+buffer;
    return 0;
}

target = (buffer+=source) = 20;になりtarget = (25) = 20ます。

しかし、ソース ファイルで同じステートメントを指定すると、l-value エラーが発生します。

の値はどのようにtarget+buffer40 を出力していますか。

4

1 に答える 1