此代码不起作用(MS VS 2005),
b->funcA();
B::iterator iter;
Run Code Online (Sandbox Code Playgroud)
无法访问A类中声明的受保护成员
如果我删除D类,一切都很好地编译.
我想知道这只是一个错误还是标准?
class A
{
protected:
void funcA() { }
class iterator { };
};
class D {
class B : public A {
class C {
B* b;
public:
void funcC() {
b->funcA();
B::iterator iter;
}
};
public:
void funcB() {
funcA();
}
};
};
Run Code Online (Sandbox Code Playgroud)
谢谢!
c++ ×1