Pergunta

Estou tentando usar este código no meu aplicativo QT

QMap<QString,QMap>

Mas há um problema de construção que diz

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

Solução

O QMAP é uma classe de modelo, então você precisa especificar o tipo de QMAP interno como este:

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

Observe o espaço entre o '> é o C ++ Lexer pensa que é o operador >>.

editado

Se você pretendia tentar armazenar um QMAP genérico como o tipo de valor, em vez de uma instância concreta do QMAP, dentro do seu mapa externo, você não pode!

Você não pode ter algo como QMAP, porque o QMAP em si não é um tipo, é um modelo - ele apenas nomeia um tipo quando os parâmetros do modelo são especificados

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top