У меня есть вектор, который я хотел бы хранить в подклассах. Проблема, с которой я столкнулась, состоит в том, что она дает мне ошибку. Я посмотрел here в качестве ссылки, но теперь я получаю эту ошибку:создание вектора класса, содержащего подкласс
Error: "Subclass::Subclass" (declared at...) is inaccessible.
Мой код выглядит следующим образом:
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;
}
Пожалуйста, напишите ** полный, но минимальный ** пример, который читатели могут попробовать. –
Это говорит о том, что диагностика компилятора «недоступна» говорит все. Конструктор недоступен, поскольку по умолчанию члены 'class' являются' private'. Поэтому либо используйте ключевое слово 'struct', либо, лучше здесь, добавьте' public: 'спецификатор доступа до определения конструктора, или, ungood, создайте класс' Program' 'friend'. –