正在声明一个类型的静态字段,该类型在C++中的合法类定义时是不完整的?例如:不完整类型的静态字段 - 是否合法?
了foo.h:
class Foo
{
public:
// ...
private:
class Bar;
static Bar something;
};
Foo.cpp中:
class Foo::Bar
{
// ...
};
Foo::Bar Foo::something;
// some more code
编译器似乎接受它,我没有看到一个原因,它应该是拒绝了,但标准对这种情况有什么看法?我真的很感谢有人直接引用这个标准,最好是来自“旧”(2003年的那个)。
是。这就是为什么我说“我没有看到它被拒绝的理由”。我知道你写的东西,我只是不确定标准是否由于某种原因不允许这样的代码(它是C++,你永远无法确定),所以我想直接引用它。此外,我不得不在这里问我的第一个问题;) – Fanael