c++ - 错误:“排序”不是“std::ranges”的成员;你的意思是'std :: sort'吗?
问题描述
我运行了以下代码
vector<int> randomIntegers = generateIntegers(10); // Generates 10 integers
std::ranges::sort(randomIntegers);
当我编译时g++ -std=c++20 file.cpp
,我得到
error: 'sort' is not a member of 'std::ranges'; did you mean 'std::sort'?
gcc --version
: gcc 10.2.0g++ --version
: g++ 10.2.0
为什么排序不是成员?我正在使用 VScode 智能感知,它显示诸如advance
、begin
、之类的方法common_view
。但不排序。
解决方案
要访问std::ranges::sort
您需要#include <algorithm>
:
#include <algorithm>
#include <vector>
int main() {
std::vector<int> randomIntegers{9,8,7,6,5,4,3,2,1,0}; // some integers
std::ranges::sort(randomIntegers);
}
推荐阅读
- python - 如何对两个随机数求和?
- npm - SPFX - NPM 安装 - 慢
- git - 在没有快进选项的情况下重做“git merge”?
- ffmpeg - Libavformat- 将图像对象传递给 libavformat 以生成视频
- azure-devops-services - 将管道和文件从一个 Azure DevOp 服务迁移到另一个 Azure DevOp 服务
- java - 通过 Hazelcast 集群发送的任务可以防止类卸载吗?
- java - Spring with Tomcat 7:PUT 请求返回 403 奇怪的响应
- angular - Nativescipt RadSideDrawer
- c++ - 我已将人员类继承到员工和经理中,但无法打印从人员类方法调用的人员类的成员,为什么?
- sql - 通过一个 SQL 查询从多个类别中检索最常见的项目名称及其最高价格