Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
考虑以下两种结构:
template <typename T> struct duplet{ QString str; T value; } struct MyObject{ QList<struct duplet> myList; }
编译器抛出以下错误:
错误 C3203:“Duplet”:未专门化的类模板不能用作模板参数“T”的模板参数,应为真实类型
是我偶然发现的语法错误还是非法声明?
谢谢,德科斯托
我认为它只是作为模板必须完全指定duplet才能用作模板参数?编译器无法创建 mylist 实例,因为它不知道它是什么类型。'duplet' 不是(完整的)类型;'duplet< T > for some type T' 是。
struct MyObject { QList<struct duplet<int> > myList;
和
template <typename T> struct MyObject { QList<struct duplet<T> > myList;
编译对我来说很好。