错误:“排序”不是“std::ranges”的成员;您的意思是“std::sort”吗?

Iny*_*Kim 2 c++ c++20 std-ranges g++10

我运行了以下代码

vector<int> randomIntegers = generateIntegers(10); // Generates 10 integers

std::ranges::sort(randomIntegers);
Run Code Online (Sandbox Code Playgroud)

当我用 编译时g++ -std=c++20 file.cpp,我得到

error: 'sort' is not a member of 'std::ranges'; did you mean 'std::sort'?
Run Code Online (Sandbox Code Playgroud)
  • gcc --version:海湾合作委员会10.2.0
  • g++ --version:g++10.2.0

为什么 sort 不是成员?advance我正在使用 VScode intellisense,它显示了、begin、等方法common_view。但不排序。

Ted*_*gmo 6

要访问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);
}
Run Code Online (Sandbox Code Playgroud)

演示