2016-04-14 606 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记得休息一下,每隔几个小时感受一下你的脸上的阳光 - 这有助于! :-) –