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));