在下面的代码中,为什么 T2 会给出这个错误‘m_t’ was not declared in this scope
,而 TB 很好?
以及如何在仍然使用模板的同时访问 T2 中的 T1 成员?
// All good
class TA
{
public:
TA() {}
protected:
int m_t;
};
class TB : public TA
{
public:
TB() {}
int get()
{ return m_t; }
protected:
};
// Error in T2
template<typename T>
class T1
{
public:
T1() {}
protected:
int m_t;
};
template<typename T>
class T2 : public T1<T>
{
public:
T2() {}
int get()
{ return m_t; }
protected:
};