C++: How to declare an empty private static vector inside a class?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Initializing private static members
这真的让我发疯了,我想声明一个类中的静态私有向量,这个类将用作共享内存。
我的向量声明如下:
1 | private: static vector< pair< string, bool > > flags; |
这是在类内部完成的,但如何将其初始化为空向量?最好是如果in it在类本身中,因为我需要在许多地方使用它。另一个选择是在
我有使用向量的setflag()和getflag()方法,但是它给了我各种类型的链接器错误,因为只有声明,没有定义!
型
I have setFlag() and getFlag() methods that work with the vector, but
it gives me all kinds of linker errors, because there is only
declaration, no definition!
号
您需要在类实现文件(或其他源文件)中对其进行初始化:
1 | vector< pair< string, bool > > MyClass::flags; |
号
型
您必须在实现
1 | vector< pair< string, bool > > YourClass::flags; |
这一行将调用默认的构造函数,它初始化一个空向量。