我有一个抽象类,我想在该类上包含一个用于该类的指针数组作为静态变量。该数组稍后将由派生类使用。
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()
.
我怎样才能达到这个结果?