为什么派生类在模板化时不允许访问其受保护的基类成员?
class MyBase {
protected:
int foo;
};
template<typename Impl>
class Derived : public Impl {
public:
int getfoo() {
return static_cast<Impl*>(this)->foo;
}
};
编译器抱怨 foo 受到保护。为什么?
error: int MyBase::foo is protected