我正在阅读新的C++ PP第二版,在其中他使用了排序方法作为排序(SomeVector)。使用此方法编译代码时,我将得到以下错误。
3 c:\Microsoft_Press\C++\Debug\Temperature\Temperature\Temperature.cpp :没有重载函数“IntelliSense”的实例与参数列表参数类型匹配:(向量)> c:\microsoft_press\c++\debug\temperature\temperature\temperature.cpp 19 2温度错误1 C2780:'void::IntelliSense( _RanIt,_RanIt,_Pr)‘:期望3个参数-1,条件是c:\microsoft_press\c++\debug\temperature\temperature\temperature.cpp 19 1温度错误2错误C2780:'void::IntelliSense(_RanIt,( c:\microsoft_press\c++\debug\temperature\temperature\temperature.cpp ))‘:期望两个参数--1提供了_RanIt 19 1的温度
#include "../std_lib_facilities.h"
int main()
{
vector<double> temps;
for(double temp; cin>>temp;)
{
temps.push_back(temp);
}
double sum = 0;
for(double x : temps)
{
sum+= x;
}
cout<<"Average temperature: "<<sum/temps.size()<<"\n";
sort(temps);
cout<<"Median temperature: "<<temps[temps.size()/2]<<"\n";
} 为什么这不管用?
发布于 2014-06-05 21:41:47
单参数排序还不能在C++中使用。它将由概念来启用,但这也是从C++14推迟的。
现在,你必须写:
std::sort(temps.begin(), temps.end());发布于 2014-06-05 21:41:19
sort()期望它应该工作的范围的开始和结束。例如,sort(temps.begin(), temps.end());
temps.begin()和temps.end()相应地是定义该范围的开始迭代器和结束迭代器。
https://stackoverflow.com/questions/24070520
复制相似问题