从模板类派生时为什么会出现问题?

时间:2016-05-24 13:57:42

标签: c++ templates

我有这段代码:

#include <iostream>
using namespace std;

template<class T>
class Base{
protected: T i, j;
}

template<class T>
class Derived: public Base<T>{
public: void set_i_j(T x, T y) { i = x; j = y;}
}
...

如果我尝试使用此代码,我会收到2个错误,那就是我的错误。和&#39; j&#39;在这个范围内没有声明#39;。我寻找答案,我发现如果我写这个有效:

this->i = x; this->j = y;

现在的问题是为什么它适用于&#39; this-&gt;&#39;?或者,更好的说,为什么没有它?

注意:这只是一个简单的例子,我试图制作从简单列表派生的循环列表。

0 个答案:

没有答案