C++:如何在类中声明一个空的私有(private)静态 vector ?

标签 c++ class static initialization

<分区>

Possible Duplicate:
Initializing private static members

这真让我发疯,我想在我将用作共享内存的类中声明一个静态私有(private) vector 。

我的 vector 声明是这样的:

private: static vector< pair< string, bool > > flags;

这是在一个类中完成的,但我怎样才能将它初始化为空 vector 呢?最好是 init 本身在类中,因为我需要在很多地方使用它。另一个选项在 main() 中,仅此而已。

我有用于 vector 的 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!

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

vector< pair< string, bool > > MyClass::flags;

关于C++:如何在类中声明一个空的私有(private)静态 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13333658/

相关文章:

c++ - 在头文件中重新定义一个类

c++ - 两个图像之间的像素坐标

javascript - jQuery 不选择器不工作

javascript - javascript中的构造函数如何定义静态方法?

c++ - 不能使用 cin 两次,cin.clear 和 cin.ignore 也不起作用

c++ - 不寻常的范围解析运算符

ruby-on-rails - 如何在 Ruby 中调用加载类变量的方法?

CSS:class 和 id 可以互换吗?

C++ 在使用 .o 和使用 .a 文件链接之间存在差异 : different behavior, 为什么?

c++ - "static enum"在 C++ 中是什么意思?