constメンバーと匿名ユニオンを持つことはできますか? G ++ 4.5でconstメンバーを持つコンストラクタと匿名ユニオン
struct Bar {
union {
struct { const int x, y; };
const int xy[2];
};
Bar() : x(1), y(2) {}
};
私はエラーを取得する:私は、以下の持っている
error: uninitialized member ‘Bar::<anonymous union>::xy’ with ‘const’ type ‘const int [2]’
'struct {const int x、y; }; 'は有効ではありませんC++。あなたはGCCで何かできるかどうか尋ねていますか? –
なぜ有効ではありませんか?初期化リストを持つコンストラクタが必要ですか? – user2023370
GCC-pedanticスイッチが便利です。 「ISO C++は匿名の構造体を禁止しています」と言います。上記の 'const'を削除すると、同じ警告が出ます。 – user2023370