我对 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)?