这是示例代码,我得到错误“未定义引用到.Parent :: mMyClass”“
class Parent{ //A and B inherit Parent for mMyClass variable
protected:
enum MyClass{
ClassA,
ClassB,
};
static MyClass mMyClass;
};
class A : Parent {
public:
void setClass(){
mMyClass = Parent::ClassA; //Error Here
}
};
class B : Parent {
public:
void setClass(){
mMyClass = Parent::ClassB; //Error Here
}
};
int main()
{
A a;
B b;
a.setClass();
b.setClass();
return 0;
}
我正在尝试共享变量“mMyClass”以用于A类和B类。 有什么解决方案可以更好地解决这个问题吗?感谢
答案 0 :(得分:0)
必须在课外定义static
类成员。添加行
Parent::MyClass Parent::mMyClass = Parent::ClassA;
课外。