将此指针推回专用静态成员向量

Push Back This Pointer into private static Member Vector

本文关键字:专用 静态成员 向量 指针      更新时间:2023-10-16

我想把对象本身推回到类的静态成员变量中。然而,我得到了"未解决的外部符号"。我的想法是将选定的对象收集在一个容器中。

class ActionClass
{
public:
    ActionClass();
    ~ActionClass();
    int addAction();
private:
    static std::vector<ActionClass* const> instances;
};
int ActionClass::addAction()
{
    instances.push_back(this);
    return 0;
}
ActionClass::ActionClass()
{
}
ActionClass::~ActionClass()
{
}

您必须在一个cpp文件中定义这个静态变量:

std::vector<ActionClass* const> ActionClass::instances;