This may be a silly question, but I wrote a code like below.
void someFunction() {
struct sort_pred {
inline bool operator()(const std::pair<int,double> &left, const std::pair<int,double> &right) const {
return left.second < right.second;
}
};
std::sort(regionAreas.begin(), regionAreas.end(), sort_pred());
}
However, this doesn't compile saying,
///:1542: error: no matching function for call to 'sort(std::vector<std::pair<int, double> >::iterator, std::vector<std::pair<int, double> >::iterator, someFunction::sort_pred)'
How could I use a struct inside a function as a comparator? Or, is it impossible?