我的 Test
类有一个子类型的 const
static
成员。我通常将这个 const
static
成员定义为如下所示。
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’
在标记的行上。
- 是否有其他定义静态常量成员变量的方法?
- 这是gcc-4.4的限制吗?
- 是否有解决方法?
Test::Dummy const Test::dummy = Test::Dummy();
- Sergey Kalinichenko