Mit folgendem Code Warnung:C4594 in Visual Studio 2015
class A
{};
class B : virtual public A
{};
class C : private B
{};
class D : public C
{};
ich eine Compiler-Warnung erhalten, die ich nie
in VS2012 gesehen habewarning C4594:
class 'main::D' can never be instantiated- indirect virtual base class 'main::A' is inaccessible
note: 'main::A' is a public base class of 'main::B'
note: 'main::B' is a private base class of 'main::C'
Warum ich dies zu tun bekommen?
Meine VS2015 Warnstufe ist/W3, Plattform Toolset v140.
Warum sollte der Compiler diese Warnung nicht ausgeben? – IInspectable
Warnung ist richtig, aber warum Compiler VS2012 diese Warnung nicht ausgeben? – rich
Das ist eine merkwürdige Frage. Es ist fast so, als würde man fragen, warum sie kein Space Shuttle geschickt haben, um die Astronauten von Apollo 13 zu retten. Mach einen logischen Sprung. – IInspectable