迭代时无法读取配置文件

时间:2019-05-27 11:29:41

标签: c++ qt qmap

尝试读取配置文件时,我无法访问迭代器。我的代码是:

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])是一个迭代器引起的,但是我想不出一种避免这种情况的方法。我需要在这里或其他地方投放迭代器吗?

2 个答案:

答案 0 :(得分:2)

使用迭代器访问.fixed { position: fixed; bottom: 10px; right: 10px; } 中的key, value 可以通过iterator class

完成

在您的情况下:

QMap

答案 1 :(得分:0)

您需要提供来自迭代器的密钥,而不是迭代器本身。在STL中,我会先执行i->以便迭代器进行映射,以访问键,然后使用[]运算符使用键来访问映射。