gpt4 book ai didi

c++ - 迭代时无法读出配置文件

转载 作者:行者123 更新时间:2023-11-28 01:20:54 25 4
gpt4 key购买 nike

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

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
}
}

我想做的是遍历我的 map 并从配置文件中选择相应的值。我的错误看起来像这样:

no match for ‘operator[]’ (operand types are ‘QMap’ and ‘QMap::iterator’) mConfig->reqPLC->datatype.value(map[i]); ^

我知道这是由于 datatype.value(map[i]) 是迭代器引起的,但我想不出避免这种情况的方法。我需要在这里转换我的迭代器吗?

最佳答案

使用迭代器访问 QMapkey, value可以通过 iterator class 完成

在你的情况下:

void requestPLC::write(QMap <QString, QVariant> map)
{

QMap<QString, QVariant>::iterator i;

for (i = map.begin(); i != map.end(); ++i)
{
auto map_value = i.value();
mConfig->reqPLC->datatype.value(map_value);
// do something here
}
}

关于c++ - 迭代时无法读出配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56325186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com