我尝试创建一个类模板,其中参数化类Child从参数化类Base继承。但派生类不能访问基类中的成员。
template <typename T>
class Base
{
protected:
T _value;
};
template <typename T>
class Child: Base<T>
{
public:
T accessValue()
{
return _value;
}
};
这会出现以下错误消息:
main.cpp:在成员函数'T Child :: accessValue()'中:main.cpp:21: 错误:未在此范围内声明'_value'
如果我将声明更改为:
,则有效template <typename T>
class Child: Base<int>
但这显然违背了整个模板的目的。
我认为这必须是非常基本的东西,但我无法在这个网站或其他任何地方找到解决方案。有人可以帮帮我吗?提前谢谢!