この質問をするのはとても愚かだと感じています。しかし、自分で理由を理解することはできません。
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+buffer
40 を出力していますか。