是否有可能在C ++中有一个静态字段?

时间:2012-12-01 14:19:19

标签: c++ static

  

可能重复:
  What is an undefined reference/unresolved external symbol error and how do I fix it?
  Unresolved external symbol C++

我知道你可以拥有静态本地和静态全局,但是有可能有静态字段吗?我问,因为当我声明一个静态字段(在类中声明的静态变量)时,我得到“unresolved externals”编译器错误消息。

1 个答案:

答案 0 :(得分:3)

是的,有可能。你要做的是定义静态成员。通常,这是在相应的.cpp文件中完成的:

//=== C.h

class C {
  static int i; // declaration
}

//=== C.cpp

#include <C.h>

int C::i = 0;   // definition