7

匿名の構造体と共用体はどこで使用できますか?

struct
{
    int bar;
}; // anonymous struct

union
{
    int bar;
}; // anonymous union

以下の基準でできると思います。

  • ユニオン - C++98、C++03、C++11、C11

  • 構造体 - C11

私は正しいですか?

4

1 に答える 1

5

Cに関する記述は正しいです:匿名の構造体と共用体の標準化はかなり新しい(C11)cfrです。GCC男

好みのコンパイラが、現在サポートされている標準の拡張機能(GNU C99拡張機能など)としてこれらの機能を有効にできることに注意してください。

次に、古い仕様を確認すると、 1998年以降C++で匿名ユニオンがサポートされているようです。

C ++では匿名の構造体が禁止されていることは周知の事実であり、修正は見つかりませんでした。Visual Studio 2012の時点で、C++はこの機能をサポートしていないことが確認されています。

于 2012-09-10T15:53:42.693 に答える