为什么我使用受保护的静态成员获得C2248(不可访问的成员)?

时间:2017-03-23 02:13:12

标签: c++ inheritance

我们说我有:

errorContainer

当我尝试编译时,我得到" m_intList:无法访问在课程中声明的无法访问的成员' MoreDerived'"。

问题:为什么我无法在派生类的DoStuff函数中访问受保护的静态成员?

1 个答案:

答案 0 :(得分:6)

class Derived : Base表示class Derived : private Base。私有继承的行为是:

  • protected基类成员成为派生类的private成员。
  • private基类成员无权访问作为派生类的成员。

所以m_intList是:

    protected
  • Baseprivate
  • DerivedMoreDerived
  • 无法访问

因此你的错误。