我正在尝试在我的 QT 应用程序中使用此代码

QMap<QString,QMap>

但它说存在构建问题

C:/****/****/****/***/domparser.h:14: error: type/value mismatch at argument 2 in template parameter list for 'template<class Key, class T> class QMap'
有帮助吗?

解决方案

QMap 是一个模板类,因此您需要指定内部 QMap 的类型,如下所示:

QMap<String, QMap<QString, int> > myMap;

请注意 '> 之间的空格,否则 C++ 词法分析器会认为它是 >> 运算符。

[编辑]

如果您打算尝试在外部映射中存储通用 QMap 作为值类型,而不是 QMap 的具体实例,则不能!

你不能拥有像 QMap 这样的东西,因为 QMap 本身不是类型,它是模板 - 它仅在指定模板参数时命名类型

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top