1)利用内置的仿函数指定map的排序规则时:(指定的key的排序规则)
正确写法:
map<int, string,greater<int>> m;
错误写法:
map<int, string, greater<int>()> m;
--->编译时报错: C2207 “std::_Compressed_pair<_Ty1,_Ty2,false>::_Myval1”: 类模板的成员无法获取函数类型
2)在调用sort算法对vector<int> 排序时,仿函数的正确用法:
vector<int> m;
m.push_back(10);
m.push_back(20);
m.push_back(3);
m.push_back(1);
sort(v.begin(), v.end(), greater<int>()); // greater<int>() 应该加括号;
注意:sort()和 map()利用仿函数排序时, 内置仿函数的正确使用