可能的重复:
初始化私人静态成员
这确实使我发疯,我想在我将用作共享内存的班级中声明一个静态的私人向量。
我的矢量声明是这样的:
private: static vector< pair< string, bool > > flags;
这是在课堂内完成的,但是如何将其初始化为空矢量?最好的是,如果初始化会在课堂本身中,因为我需要在许多地方使用它。另一个选项将在main()
中,但仅此而已。
i具有与向量一起使用的setFlag()和getFlag()方法,但是它给了我各种链接器错误,因为只有声明,没有定义!
i具有与向量一起使用的setFlag()和getflag()方法,但是 它给了我各种链接器错误,因为只有 声明,没有定义!
您需要在类实现文件(或其他源文件)中初始化它:
vector< pair< string, bool > > MyClass::flags;
您必须在实现YourClass
的文件中添加定义:
vector< pair< string, bool > > YourClass::flags;
此行将调用默认构造函数,该构造函数初始化了一个空的向量。