Domanda

Sto cercando di utilizzare questo codice nella mia app QT

QMap<QString,QMap>

ma c'è un problema di build, dice

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

Soluzione

QMap è una classe template, quindi devi specificare il tipo della QMap interna in questo modo:

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

Nota lo spazio tra i ">" altrimenti il ​​lexer C++ pensa che sia l'operatore >>.

[modificato]

Se intendevi provare a memorizzare una QMap generica come tipo di valore, piuttosto che un'istanza concreta di QMap, all'interno della tua mappa esterna, non puoi!

Non puoi avere qualcosa come QMap, perché QMap stesso non è un tipo, è un modello: nomina un tipo solo quando vengono specificati i parametri del modello

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top