请看下面的代码:
template<class MT>
class ClassA {
public:
int cnt;
};
template<class MT>
class ClassB : public ClassA<MT> {
public:
void test() {
cnt++ ;
}
};
Run Code Online (Sandbox Code Playgroud)
编译时,g ++会给出一个错误,即"cnt"未在范围内声明.
如果我将cnt更改为this-> cnt,它就可以了.但是,我很困惑.有人可以解释为什么它不起作用?