我想访问我的类的枚举,它继承自它的基类,但它给出了错误。
说我必须使用 Base::One
,而不是 Extended::One
。
但是其他人不知道Base类,他们只知道我和他们一起发布的Extended类。
如何使用 Extended::One
访问所有基类的枚举?
class Base {
public:
enum Type {
One,
Two
};
};
class Extended : Base {
};
int main() {
Extended::One; // ERROR: constant Base::One is inaccessible
return 0;
}
最佳答案
您不小心使用了 private inheritance .要解决此问题,请按如下方式定义 Extended
:
class Extended : public Base {
};
关于c++ - 无法从外部访问父类枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58066192/