Zugriff auf geschütztes Mitglied der Basisklasse in abgeleiteter Klasse nicht möglich
Ich habe folgenden Code:
struct A {
protected:
A() {}
A* a;
};
struct B : A {
protected:
B() { b.a = &b; }
A b;
};
Es kompiliert seltsamerweise nicht. Der Täter ist derb.a = &b;
Aufgabe: Sowohl GCC als auch Clang beschweren sich darüberA()
ist geschützt, was kein Problem sein sollte, da B A erbt. In welche dunkle Ecke des Standards bin ich gekommen?