Вот мой код -
#include<iostream>
using namespace std;
class base
{
public:
void sid()
{
}
};
class derived : private base
{
public:
void sid()
{
}
};
int main()
{
base * ptr;
ptr = new derived; // error: 'base' is an inaccessible base of 'derived'
ptr->sid();
return 0;
}
Это дает ошибку времени компиляции.
error: 'base' is an inaccessible base of 'derived'
Поскольку компилятор попытается вызвать базовый класс sid ()
, почему я получаю эту ошибку? Кто-нибудь может объяснить это.