Почему не компилируется производный класс с частной виртуальной базой с защищенным конструктором?C++

Программы на C++. Форум разработчиков
Anonymous
Почему не компилируется производный класс с частной виртуальной базой с защищенным конструктором?

Сообщение Anonymous »

Код: Выделить всё

class base {
protected:
base() {}
};

class der1 :  virtual private base {

public:
der1() {}
};

class der2 : public der1
{
public:
der2() {}

};

int main() {
der2 d;
}
Выдает ошибку времени компиляции: 'base::base': невозможно получить доступ к недоступному члену, объявленному в классе 'base'.

Но конструктор базового класса определяется публично и компилируется.

Пожалуйста, кто-нибудь может дать объяснение?

Подробнее здесь: https://stackoverflow.com/questions/749 ... ected-cons

Вернуться в «C++»