here 주어진 솔루션을 따라 한 쌍의 벡터를 정렬했습니다.쌍의 벡터 정렬 : 일치하는 함수 없음
그리고 코드와
linear_problem.h:275:
error: no matching function for call to
‘sort(std::vector<std::pair<int, double> >::iterator,
std::vector<std::pair<int, double> >::iterator, <unresolved overloaded
function type>)’
std::sort(data.begin(), data.end(), compareFunc);
클래스를 얻을 수있다 :
class Coefficients{
private:
std::vector<std::pair<int, double>> data;
public:
Coefficients(){}
bool compareFunc(const std::pair<int, double> &a, const std::pair<int, double> &b){
return a.first > b.first;
}
void sort(){
std::sort(data.begin(), data.end(), compareFunc);
}
};
나는 코드가 꽤 예처럼이기 때문에 잘못 될 수있는 것의 아무 생각이 없습니다.
'compareFunc'는'Coefficients'의 멤버 함수입니다. 'std :: sort'가 가지고 있지 않은'Coefficients' 타입의 객체로만 호출 될 수 있습니다. 비교 함수를'Coefficients'의 외부에 두거나'static '으로 만들겠습니까? – nwp