c ++中的静态类成员

时间:2012-06-08 00:16:01

标签: visual-c++ static member

我正在尝试从NeHe.gamedev.net获取窗口代码并将其转换为类,以便我可以更轻松地使用它,而且我遇到了一个问题。 WndProc方法需要声明为静态读取,这当然意味着其中使用的变量需要是静态的。但是当我在头文件

中声明它们时
private:

static bool keys[256];                  //for key events
static bool active;
static bool fullscreen;

我得到一个错误,说他们是未申报的外部人员。我对c ++很新,所以我错过了什么?谢谢!

1 个答案:

答案 0 :(得分:2)

还必须在实现文件中声明静态值。在你的.cpp文件中你应该有:

bool MyClass::keys[256];
bool MyClass::active;
bool MyClass::fullscreen;

问题是,如果没有在实现文件中的某个地方声明,编译器就没有把存储放在静态变量中的好地方。