У меня есть нечетный случай с 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)?