C++ 没有与';排序(int[2000],int)和#x27;|排序数组时

C++ 没有与';排序(int[2000],int)和#x27;|排序数组时,c++,arrays,sorting,C++,Arrays,Sorting,我想用一种简单的方法对数组进行排序,但我确实在下面得到了这个错误。如何处理 **调用“排序(int[2000],int)”时没有匹配函数|** #include <iostream> #include <algorithm> using namespace std; int main(){ int v[2000]; std::sort(v, 2000); cout << "Hello world!" << endl;

我想用一种简单的方法对数组进行排序,但我确实在下面得到了这个错误。如何处理

**调用“排序(int[2000],int)”时没有匹配函数|**

#include <iostream>
#include <algorithm>

using namespace std;

int main(){
    int v[2000];
    std::sort(v, 2000);
    cout << "Hello world!" << endl;
    return 0;
}
#包括
#包括
使用名称空间std;
int main(){
INTV[2000];
标准:排序(v,2000);

正确的说法是:

std::sort(v, v + 2000);

该函数使用两个迭代器,即范围的开始和结束进行排序。指针是一个随机访问迭代器,因此它可以由需要一个迭代器的函数使用。在这种情况下,
v+2000
指向数组的结束,并正确地表示范围的结束。

您有两种可能性:

std::sort(v, v + 2000);


第一种方法仅适用于数组,后一种方法适用于
std::vector
std::array
和其他容器的批次。

@chris:相应地编辑。
std::sort(std::begin(v), std::end(v));