2

我正在尝试在我的 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'
4

1 回答 1

6

QMap 是一个模板类,所以你需要像这样指定内部 QMap 的类型:

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

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

[编辑]

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

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

于 2010-03-20T12:23:53.123 回答