2
我想在我的QT應用嵌套QMAP 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'
我想在我的QT應用嵌套QMAP 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本身就不是一個類型,它是一個模板 - 它只是名稱時,模板參數指定
「如果你打算嘗試存儲任何類型的QMAP作爲類型價值型......你不能」 - 這可以被理解爲‘無QMAP的實例可以作爲外QMAP’的值類型。我確信這不是你的意思,但是爲了避免疑惑:雖然「QMap」無效,但可以使用QMap的*給定實例化*作爲值類型。 「QMap >」。 –
2010-03-22 08:00:04
...和,如果外QMAP是一個模板內定義的,該模板的參數可被用於實例化所述內(值)QMAP。例如,如果外部QMap是'Foo'的成員,那麼它的完整類型可能是'QMap >' –
2010-03-22 08:03:34
是的,我的壞... 我應該說它需要一個完整的可實例化(可解析?)類型作爲模板類型參數 – 2010-03-22 18:20:06