2016-04-14 604 views
0

我想從我的課程中使用此映射。QMap <QString,QVector <QString>>訪問QVector C++ Qt

static QMap<QString,QVector<QString>> myMap = { 
     {"aaa",  {"bbb",  "ccc"} }, 
     {"ddd",  {"eee",  "fff"} }, 
     {"ggg",  {"hhh"  "jjj"} }, 
}; 

但是,當我嘗試訪問QVector內的第一個或第二個元素時,我總是得到兩個字符串追加。

當我執行下面的行時,我會期待「bbb」,但我得到的是「bbbccc」。

QString ret = myMap.value("aaa").first(); 

我所期望的是:

myMap.value( 「AAA」)返回一個QVector - >的第一個元素是前人的精力 「BBB」;

同樣適用於:(expect:「ccc」,但獲得「bbbccc」)。

QString ret = myMap.value("aaa").last(); 

我不明白爲什麼。有人有想法嗎?

回答

0

你缺少一個逗號:

{"ggg",  {"hhh"  "jjj"} }, 
        ^here 
+0

啊,男人,很多時間我想顯示器前,非常感謝你! – user3482407

+1

@ user3482407記得休息一下,每隔幾個小時感受一下你的臉上的陽光 - 這有助於! :-) –