Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
gccは、次の割り当てエラーで無効な左辺値を返します。
-2[(size_t *)new] = 0;
コードを次のように変更すると、コードがなくなります。
((size_t *)new)[-2] = 0;
しかし、私が知る限り、どちらもCでは100%同等です。gccは、左辺値以外の式で前者を使用しても問題はありません。これはgccの単なるバグですか?私はそれをいくつかのバージョンでテストし、同じ結果を得ました。
私は愚かだ。[]よりも強くバインドする-ため、この式は実際にはインデックス 2 を読み取り、それを否定しています。
[]
-