ich einen seltsamen Fall mit Visual Studio haben 2003 etwas legitimen Gründen, ich habe die folgende Hierarchie:Falsche Namensauflösung, wenn Eltern und innere Klasse haben den gleichen Namen
class A {};
class B : public A {
public:
class A {};
};
class C : public B::A {};
Das heißt, habe ich eine innere Klasse mit dem gleichen Namen wie ein Elternteil der äußeren Klasse. Wenn C
versucht, von B::A
zu erben, denkt Visual Studio, dass ich auf die übergeordnete Klasse A
, nicht die geschachtelte Klasse innerhalb B
zeige. GCC scheint zu der inneren Klassenversion zu lösen, wie ich es erwartet hatte
Ist das ein Visual Studio 2003 Fehler, oder mache ich es falsch? Gibt es eine Problemumgehung (abgesehen von der Aktualisierung von Visual Studio)?
Visual C++ 2003 wurde vor neun Jahren veröffentlicht. Es wäre ratsam, für viele Gründe zu aktualisieren. –
@JamesMcNellis Wenn ich für diese Dinge verantwortlich wäre, hätten wir vor langer Zeit ein Upgrade durchgeführt, aber leider bin ich nicht –