gpt4 book ai didi

c++ - JsonCpp 如何对作为数组的 Json::Value 进行 std::sort

转载 作者:太空宇宙 更新时间:2023-11-04 13:48:23 25 4
gpt4 key购买 nike

我想使用类似于 std::sort() 的方法对作为(dicts 的)数组的 Json::Value 进行排序,但是在尝试像这样创建自定义排序函数时出现错误:

bool sort_json_array(Json::Value a, Json::Value b)
{
return a["some_double_member"].asDouble() > b["some_double_member"].asDouble();
}

我调用 std::sort 如下:

std::sort(json_array.begin(), json_array.end(), sort_json_array);

但这给出了一些我不明白的错误,都类似于:

no match for ‘operator-’ (operand types are ‘Json::ValueIterator’ and ‘int’)

如何对 Json 数组进行排序?

最佳答案

我选择的解决方案是创建一个新的空 vector ,然后遍历 Json 数组,将每个元素插入到 vector 中。然后我使用上述问题中的 sort_json_array() 对 vector 进行 std::sort() 编辑(除了我将其更改为采用 Jarod42 所建议的常量引用)。感谢大家的帮助!

关于c++ - JsonCpp 如何对作为数组的 Json::Value 进行 std::sort,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24706247/

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