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.
私は次のコードを持っています。なぜ次のようにユニオンポインタを参照解除するのが未定義なのですか?
extern union MyUn *P1; extern union MyUn *P2; extern void myfunc(void) { *P1 = *P2; }
このソース ファイルで共用体も定義していない場合、コンパイラはコピーする量を認識できません。
組合の規模は?
これは特にユニオンとは関係がなく、「未定義」でもありません。不完全な型へのポインターを逆参照しようとすると、(明らかな理由で) 単にコンパイラ エラーになります。