Ich bin mit privatem Erbe, und ich bin überrascht, dass in der abgeleiteten Klasse Verwendung jeden Basis Objekts zu sehen, ist nicht erlaubt.Keine Verwendung von Objektbasis in privaten Vererbung erlaubt
class A;
class B : private A;
class C : public B;
C::method_1()
{
A* a; // Temporary "A" object for local computation
}
Das hat nichts mit Vererbung zu tun. Ich möchte nicht auf this->base method
zugreifen!
Diese Konfiguration bietet einen C2247-Fehler in Visual Studio ("'A' nicht zugänglich, weil 'B' 'private' verwendet, um von 'A' zu erben). diese
Try ':: A * a;' statt 'A * a;' –
Mögliche Duplikat von [Wie wird eine statische Methode von einer privaten Basisklasse aufgerufen?] (https://stackoverflow.com/questions/39349998/how-to-call-a-static-method-from-a-private-base-class) –