声明在C++中类定义合法的时刻类型的静态字段是不完整的?例如:
foo.h中:
class Foo
{
public:
// ...
private:
class Bar;
static Bar something;
};
Run Code Online (Sandbox Code Playgroud)
Foo.cpp中:
class Foo::Bar
{
// ...
};
Foo::Bar Foo::something;
// some more code
Run Code Online (Sandbox Code Playgroud)
编译器似乎接受了它,我没有看到它应该被拒绝的原因,但标准对这种情况有何看法?我真的很感谢有人直接引用标准,最好来自"旧"标准(2003年的标准).