私のTest
クラスはサブタイプのメンバーであるconst
static
を持っています。私は通常、次のようにこのconst
static
のメンバーを定義します。静的なconstメンバーを定義する方法は?
class Test
{
public:
class Dummy {};
private:
static Dummy const dummy;
};
Test::Dummy const Test::dummy; // ERROR HERE
int main()
{
return 0;
}
このソースをgcc-4.6でコンパイルすると、エラーは発生せず正しくコンパイルされます。
この同じソースをgcc-4.4でコンパイルすると、次のエラーが発生します。 error: uninitialized const ‘Test::dummy’
マークされた行。
- この静的constメンバー変数を定義する別の方法はありますか?
- これはgcc-4.4の制限ですか?
- 回避策はありますか?
'テスト::ダミーCONSTテスト::ダミー=テスト::ダミー(言うGCC 4.6 release notes ); ' – dasblinkenlight