У меня странный случай с Visual Studio 2003. По вполне законным причинам у меня следующая иерархия:
class A {};
class B : public A {
public:
class A {};
};
class C : public B::A {};
То есть у меня есть внутренний класс с тем же именем, что и родитель внешнего класса. Когда C
пытается наследовать от B::A
, Visual Studio считает, что я указываю на родительский класс A
, а не на вложенный класс внутри B
. GCC, кажется, разрешает версию внутреннего класса, как я и ожидал
Это ошибка Visual Studio 2003 или я что-то не так делаю? Есть ли обходной путь (кроме обновления Visual Studio)?