在 Visual C++ 中,我可以执行以下操作:
template <class T>
class A{
protected:
T i;
};
template <class T>
class B : public A<T>{
T geti() {return i;}
};
如果我尝试在 g++ 中编译它,我会得到一个错误。我必须这样做:
template <class T>
class B : public A<T>{
T geti() {return A<T>::i;}
};
我不应该在标准 C++ 中做前者吗?还是 gcc 配置错误导致我出错?