可能重复:
C++ 继承的模板类无权访问基类
我遇到了模板和继承问题。简单地说,我有一个模板类,我想要另一个模板类继承。我不明白为什么基类的成员在派生类中不可见?尽管不使用模板,但一切都按预期工作。例如:
template <typename T>
class Foo
{
public:
T x;
T y;
void doX(){ x = x+1; }
void doY(){y++;}
protected:
T a;
T b;
void doA(){a++;}
};
template <typename T>
class Bar : public Foo<T>
{
public:
void doX(){x++; y++;} // ERROR
void doY(){x++; y++;} // ERROR
void doA(){a++;b++;} // ERROR
};