C++:如何在类中声明一个空的私有静态向量?

Ton*_*nov 3 c++ static initialization class

可能重复:
初始化私有静态成员

这真的让我发疯,我想在我将用作共享内存的类中声明一个静态私有向量.

我的矢量声明是这样的:

private: static vector< pair< string, bool > > flags;
Run Code Online (Sandbox Code Playgroud)

这是在类中完成的,但是如何将其初始化为空向量?最好的情况是如果init本身就在类中,因为我需要在很多地方使用它.另一种选择就是main()但仅此而已.

我有setFlag()和getFlag()方法使用向量,但它给了我各种链接器错误,因为只有声明,没有定义!

Car*_*bou 6

我有setFlag()和getFlag()方法使用向量,但它给了我各种链接器错误,因为只有声明,没有定义!

您需要在类实现文件(或其他源文件)中初始化它:

vector< pair< string, bool > > MyClass::flags;
Run Code Online (Sandbox Code Playgroud)