Why does c++ class need to define static field(data member) outside the class scope?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Initializing private static members
Why I can't initialize non-const static member or static array in class?
这对我来说很奇怪。为什么不假设在全局范围内有一个静态字段?谢谢。
它必须放在某个地方(在某个对象文件中),以便链接器可以找到它。如果在.h文件中有静态文件的类声明,并将此文件包含在几个.cpp文件中,那么它将不明确,应该为该文件分配哪个对象文件。
请注意,基元类型
1 2 3 4 | class Foo { static const int n = 42; }; |