Dieser Code wird verwendet mit Visual Studio 2015 funktionieren, aber es nicht mehr funktioniert mit Visual Studio 2015 Update 1.Freund Klasse kann nicht geschütztes Mitglied zugreifen
class Foo
{
protected:
virtual ~Foo() {};
friend class Foo__init;
};
class Foo__init
{
public:
Foo _init;
};
static Foo__init _Foo_init;
Es wird mit folgendem Fehler fehl:
Error C2248 'Foo::~Foo': cannot access protected member declared in class 'Foo'
Ist dies ein Compiler-Bug oder ist der Code fehlerhaft?
Vielleicht möchten Sie den Destruktor von Foo veröffentlichen. –
Ich frage nicht danach. :) –
Was passiert, wenn Sie 'class Foot__init;' vor der Definition von 'Foo' setzen? – Holt