0

我运行了以下代码

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.0
  • g++ --version: g++ 10.2.0

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

4

2 回答 2

4

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

演示

于 2021-02-27T23:07:14.703 回答
1

范围 API

但是,您可以按如下方式使用排序:

#include <algorithm>
std::sort(randomIntegers.begin(), randomIntegers.end());
于 2021-02-27T22:56:20.673 回答