gpt4 book ai didi

c++ - 抽象类中的静态数组

转载 作者:行者123 更新时间:2023-11-28 00:56:47 28 4
gpt4 key购买 nike

我有一个抽象类,我想在其中包含一个静态变量作为同一个类的指针数组。该数组稍后将由派生类使用。

class Base {
public:
virtual int someValue() = 0;
static Base* Bases[100];

void Startup() {
Bases[2] = this; // just a test
};
};

class Derived : public Base {
public:
virtual int someValue() {return 10};
};

然而,在编译时,我收到以下错误:Undefined symbols for architecture i386 "Bases", referenced from: Base::Startup()

我怎样才能达到这个结果?

最佳答案

您已经声明了您的数组Bases,但您还没有定义它。您需要在其他地方定义它,最好是在 cpp 文件中:

Base* Base::Bases[100];

关于c++ - 抽象类中的静态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10711123/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com