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?
std::vectorsorting. According to Visual Studio support for new C/C++ standards? and Which standard does VS2005, VS2008 follow? VS 2005 targets C++03.