Почему не компилируется производный класс с частной виртуальной базой с защищенным конструктором?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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