gpt4 book ai didi

c++ - 排序 vector ,未在此范围内声明顺序(库?)

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

我试图通过另一个具有相同长度的 vector (值,整数)来排序一个 vector (字符串)。现在,这个问题似乎很容易解决,我的问题不是如何解决这个问题,而是我的错误在哪里,下面将给我错误“编译器未在此范围内声明'order'”。

如果 x 是一个 vector ,y 是另一个 vector ,我会经过,或类似的东西(如前所述,这不是问题):

x[sort(order(y.begin(), y.end(), greater<int>()))];

或类似的东西。现在显然不包括订单。我有以下库/容器:

#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <ctime>
#include <algorithm>
#include <functional>

现在,我需要另一个库/容器才能使用“order”吗?

最佳答案

没有名为 order 的函数在标准库中。那就是你的错误所在。

该行中的其他一些错误:

std::sort采用 2 或 3 个参数。第一个和最后一个迭代器和可选的比较器,它们与您传递给 order 的参数完全匹配现在。你目前正在传递你的 order返回 sort , 这是错误的。

std::sort返回 void ,所以你不能将它的返回值传递给 operator[]x .

要做你想做的,最简单的解决方案是将值放在 std::map<int, std::string> 中.如果您真的需要一个字符串 vector ,然后将这些值复制到一个 vector 中。

关于c++ - 排序 vector ,未在此范围内声明顺序(库?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25484700/

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