【问题标题】: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;
对我来说编译就好了。