在构造函数中填充类指针的向量

时间:2015-08-23 04:41:55

标签: c++ class pointers vector

我已经看过关于类对象指针的向量的其他帖子。但是,是否可以在同一个类中填充此向量。构造函数与" this"指针?我收到链接器错误。我离开基地了吗?:

// Object.h
class Object
{
....
static vector<Object*> gObjects;
}

// Object.cpp
Object::Object()
{
  gObjects.push_back(this);
}

// Main.cpp
Object::gObjects.size()

1 个答案:

答案 0 :(得分:1)

  

是否可以使用“this”指针在同一个类的构造函数中填充此向量?

是的,这是可能的。

链接器错误与指针无关,或者在向量中放置this,这只是因为你没有定义静态成员。

https://gcc.gnu.org/wiki/VerboseDiagnostics#missing_static_const_definition所述,您需要声明定义静态成员。

要解决此问题,只需将其添加到Main.cpp

即可
std::vector<Object*> Object::gObjects;