Вопрос

Я пытаюсь использовать этот код в своем приложении 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