首页 > 解决方案 > 错误:“排序”不是“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'?

为什么排序不是成员?我正在使用 VScode 智能感知,它显示诸如advancebegin、之类的方法common_view。但不排序。

标签: c++c++20std-rangesg++10

解决方案


要访问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);
}

演示


推荐阅读