我有一个我想存储子类的向量。我面临的问题是它给了我一个错误。 我看了here作为参考,但现在我收到了这个错误:
错误:“Subclass :: Subclass”(在...处声明)无法访问。
我的代码如下:
class SuperClass
{
public:
SuperClass() {}
~SuperClass() {}
};
class SubClass : public SuperClass
{
SubClass() {} //there is no .cpp
~SubClass() {}
};
int main()
{
std::vector<SuperClass*> superClass;
superClass.push_back(new SubClass());
return 0;
}
答案 0 :(得分:1)
class
的默认访问类型为private
。因此,Subclass
的构造函数和析构函数都是private
。在它们之前添加public
访问说明符。
class Subclass : public SuperClass{
// Add this
public:
SubClass() {} //there is no .cpp
~SubClass() {}
};