小编Leo*_*Leo的帖子

嵌套的C++类外部成员的访问权限

此代码不起作用(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++

5
推荐指数
1
解决办法
1166
查看次数

标签 统计

c++ ×1