Ho un caso strano con Visual Studio 2003. Per motivi legittimi in qualche modo, ho la seguente gerarchia:sbagliato la risoluzione dei nomi quando genitori e classe interna hanno lo stesso nome
class A {};
class B : public A {
public:
class A {};
};
class C : public B::A {};
Cioè, ho un interno classe con lo stesso nome di un genitore della classe esterna. Quando C
prova ad ereditare da B::A
, Visual Studio pensa che sto indicando la classe genitore A
, non la classe nidificata entro B
. GCC sembra risolvere la versione della classe interna come mi aspettavo
Si tratta di un bug di Visual Studio 2003 o sto sbagliando? C'è una soluzione alternativa (oltre all'aggiornamento di Visual Studio)?
Visual C++ 2003 è stato rilasciato nove anni fa. Sarebbe consigliabile aggiornare per molti motivi. –
@JamesMcNellis Se io fossi responsabile di queste cose avremmo aggiornato molto tempo fa, ma purtroppo non sono –