cpp

unionの初期化の癖

cpp

union Uni{ int x; char* c; }; があったとき、 Uni u[] = { 1, 2, 3 }; はできるが、 Uni u[] = { "a", "b", "c", "d" }; はコンパイルエラーとなる。つまり、宣言に最初に書いた方が優先されるということらしいです。