gpt4 book ai didi

c++ - Qt QHash 迭代器

转载 作者:行者123 更新时间:2023-11-30 02:33:54 25 4
gpt4 key购买 nike

我有我的代码:

for(QHash<long,float>::iterator i=list.begin();i!=list.end();++i)
{
long id = QVariant((*i).key()).toLongLong();
float ile = QVariant((*i).value()).toFloat();
}

我变成了这个错误:

request for member 'key' in 'i.QHash<K,V>::iterator::operator*<long int, float>()', which is of non-class type 'float'    
long id = QVariant((*i).key()).toLongLong();

如何将 key()value() 转换为我的 floatint

最佳答案

成员方法keyvalue是迭代器接口(interface)的一部分。
因此,使用 i.key() 就足够了。而不是 (*i).key() .
这同样适用于 values , 你应该使用 i.value()而不是 (*i).value() .
operator*迭代器的返回一个对 i-th 值的引用,在你的例子中是一个 float没有成员方法 keyvalue的确如此。

作业应类似于以下作业:

long id = i.key();
float ile = i.value();

参见 here了解更多详情。

关于c++ - Qt QHash 迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34986662/

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