尝试读取配置文件时,我无法访问迭代器。我的代码是:
void requestPLC::write(QMap <QString, QVariant> map)
{
QMap<QString, QVariant>::iterator i;
for (i = map.begin(); i != map.end(); ++i)
{
mConfig->reqPLC->datatype.value(map[i]);
// do something here
}
}
我想做的是遍历我的地图,并从配置文件中选择相应的值。我的错误看起来像这样:
与“ operator []”不匹配(操作数类型为“ QMap” 和“ QMap :: iterator”) mConfig-> reqPLC-> datatype.value(map [i]); ^
我知道这是由于datatype.value(map [i])是一个迭代器引起的,但是我想不出一种避免这种情况的方法。我需要在这里或其他地方投放迭代器吗?
答案 0 :(得分:2)
使用迭代器访问.fixed {
position: fixed;
bottom: 10px;
right: 10px;
}
中的key, value
可以通过iterator class
在您的情况下:
QMap
答案 1 :(得分:0)
您需要提供来自迭代器的密钥,而不是迭代器本身。在STL中,我会先执行i->以便迭代器进行映射,以访问键,然后使用[]运算符使用键来访问映射。