Não é possível acessar o membro protegido da classe base na classe derivada
Eu tenho o seguinte código:
struct A {
protected:
A() {}
A* a;
};
struct B : A {
protected:
B() { b.a = &b; }
A b;
};
Estranhamente não compila. O culpado é ob.a = &b;
tarefa: tanto o GCC quanto o clang reclamam queA()
está protegido, o que não deve ser um problema porque B herda A. Qual canto escuro do padrão eu entrei?