我有这段代码:
#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;?或者,更好的说,为什么没有它?
注意:这只是一个简单的例子,我试图制作从简单列表派生的循环列表。