C ++模板类继承自模板类,无法访问成员变量

时间:2018-04-30 13:38:46

标签: c++ templates inheritance

我尝试创建一个类模板,其中参数化类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>

但这显然违背了整个模板的目的。

我认为这必须是非常基本的东西,但我无法在这个网站或其他任何地方找到解决方案。有人可以帮帮我吗?提前谢谢!

0 个答案:

没有答案