关于cpp的静态成员

时间:2015-01-09 13:55:00

标签: c++ c++builder

Class base{
public :
static vector<int> _elems;

... 我怎么能使用那个静态的。我必须再次从类体中定义它吗? 或者我遇到了一个错误“Undefine reference to'base :: _ elems'”

2 个答案:

答案 0 :(得分:0)

您只声明了静态成员,从未对其进行过定义。在您的cpp文件中,您需要这样做:

vector<int> base::_elems;

答案 1 :(得分:0)

您可以像使用任何其他变量一样使用它。您只需要记住静态变量对于所有实例都是相同的。

编辑:我忘记了辩护。您必须定义变量,这可以从任何cpp文件中完成,但我建议在base.cpp文件中定义变量。