Я ожидаю, что он ниже кода, чтобы выдать ошибку, но Компилирует нормально
class B;
template<typename T>
class A
{
private:
A()
{
T b;
b.print();
}
void print()
{
}
};
class B: public A<B>
{
};
Как A
способный получить доступ к закрытым членам, конструктору A()
а также print()
из B
?
Попробуйте создать новый экземпляр класса B. Он скомпилирует ошибку.
B b;