C :如何在类内声明一个空的私人静态向量



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

这确实使我发疯,我想在我将用作共享内存的班级中声明一个静态的私人向量。

我的矢量声明是这样的:

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;

此行将调用默认构造函数,该构造函数初始化了一个空的向量。

最新更新