我已经看过关于类对象指针的向量的其他帖子。但是,是否可以在同一个类中填充此向量。构造函数与" this"指针?我收到链接器错误。我离开基地了吗?:
// Object.h
class Object
{
....
static vector<Object*> gObjects;
}
// Object.cpp
Object::Object()
{
gObjects.push_back(this);
}
// Main.cpp
Object::gObjects.size()
答案 0 :(得分:1)
是否可以使用“this”指针在同一个类的构造函数中填充此向量?
是的,这是可能的。
链接器错误与指针无关,或者在向量中放置this
,这只是因为你没有定义静态成员。
如https://gcc.gnu.org/wiki/VerboseDiagnostics#missing_static_const_definition所述,您需要声明和定义静态成员。
要解决此问题,只需将其添加到Main.cpp
:
std::vector<Object*> Object::gObjects;