Frage

Ich versuche, diesen Code in meinem QT App zu nutzen

QMap<QString,QMap>

, aber es ein Build-Problem ist, sagt, es ist

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

Lösung

QMap ist eine Template-Klasse, so dass Sie den Typ des inneren QMap wie diese angeben müssen:

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

Beachten Sie den Raum zwischen dem '>' s sonst der C ++ Lexer denkt sein das Operator >>.

[editiert]

Wenn Sie sollten versuchen, eine generische QMap als Werttyp zu speichern, anstatt eine konkrete Instanz von QMap, innerhalb Ihrer äußeren Karte können Sie nicht!

Sie können nicht so etwas wie QMap haben, weil QMap selbst kein Typ ist, es ist eine Vorlage - es ist nur Namen ein Typ, wenn die Template-Parameter angegeben werden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top