Невозможно получить доступ к защищенному члену базового класса в производном классе
У меня есть следующий код:
struct A {
protected:
A() {}
A* a;
};
struct B : A {
protected:
B() { b.a = &b; }
A b;
};
Это странно нет компилировать. Виновником являетсяb.a = &b;
назначение: и GCC, и Clang жалуются, чтоA()
защищен, который не долженЭто не проблема, потому что B наследует A. В какой темный угол стандарта я вступил?