匿名の構造体と共用体はどこで使用できますか?
struct
{
int bar;
}; // anonymous struct
union
{
int bar;
}; // anonymous union
以下の基準でできると思います。
ユニオン - C++98、C++03、C++11、C11
構造体 - C11
私は正しいですか?
Cに関する記述は正しいです:匿名の構造体と共用体の標準化はかなり新しい(C11)cfrです。GCC男。
好みのコンパイラが、現在サポートされている標準の拡張機能(GNU C99拡張機能など)としてこれらの機能を有効にできることに注意してください。
次に、古い仕様を確認すると、 1998年以降C++で匿名ユニオンがサポートされているようです。
C ++では匿名の構造体が禁止されていることは周知の事実であり、修正は見つかりませんでした。Visual Studio 2012の時点で、C++はこの機能をサポートしていないことが確認されています。