模板化结构的QList

时间:2011-03-30 23:41:56

标签: c++ qt templates struct qlist

考虑以下两种结构:

template <typename T> struct duplet{
  QString str;
  T value;
}

struct MyObject{
QList<struct duplet> myList;
}

编译器抛出以下错误:

错误C3203:'Duplet':非专业化的类模板不能用作模板参数'T'的模板参数,期望是真实的类型

我是绊脚石或非法声明的语法错误吗?

谢谢, de costo

1 个答案:

答案 0 :(得分:2)

我认为仅仅作为模板的duplet必须完全指定才能作为模板参数?编译器无法创建mylist实例,因为它不知道它是什么类型。 'duplet'不是(完整)类型; “小芯片&LT; T>某些类型T'是。

struct MyObject {
QList<struct duplet<int> > myList;

template <typename T>
struct MyObject {
QList<struct duplet<T> > myList;

为我编译就好了。