/* B:e4064: 意味が無い宣言です */
union U { long name1 ; long name2 ; }; union { /* NG アクセスできない */ long nameless1 ; long nameless2 ; }; struct { /* NG アクセスできない */ long nameless1 ; long nameless2 ; }; union { long a1 ; long a2 ; } u; /* ←インスタンスがあるので問題無し */ struct S { long name1 ; long name2 ; };
解説 C言語ではグローバルスコープにある無名のunion,structは、 インスタンス付きで宣言しないと、アクセスする方法が無く意味がありません。