我正在尝试实例化一个本身使用另一个模板的C ++模板,但是错误表明该字段不完整:
template <typename T> class T1 { };
template <typename T> class T2
{
public:
T2<T> t1;
};
class T_int
{
public:
T1<int> t1; //works
T2<int> t2; //error
};
这两个模板都已完全定义,所以为什么在这种情况下不能使用T2?
编辑: 我知道类不能包含自己。我只是完全看不见这种错字。
template <typename T> class T2
{
public:
T2<T> t1;
};
应该是
template <typename T> class T2
{
public:
T1<T> t1;
};