【问题标题】:QList of templated structures模板化结构的 QList
【发布时间】:2011-03-30 23:41:56
【问题描述】:

考虑以下两种结构:

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

struct MyObject{
QList<struct duplet> myList;
}

编译器抛出以下错误:

错误 C3203:“Duplet”:未专门的类模板不能用作模板参数“T”的模板参数,应为真实类型

是我偶然发现的语法错误还是非法声明??

谢谢, 德科斯托​​p>

【问题讨论】:

    标签: c++ qt templates struct qlist


    【解决方案1】:

    我认为它只是作为模板必须完全指定duplet才能用作模板参数?编译器无法创建 mylist 实例,因为它不知道它是什么类型。 'duplet' 不是(完整的)类型; 'duplet for some type T' 是。

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

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

    对我来说编译就好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多