我想为 std::sort() 创建自定义比较函数,以对一些键值对 std::pair 进行排序
这是我的功能
template <typename K, typename V>
int comparePairs(const void* left, const void* right){
if((((pair<K,V>*)left)->first) <= (((pair<K,V>*)right)->first))
return 1;
else
return -1;
}
然后,在某个类中,我有对类成员的向量:
vector<pair<K,V>> items;
以及一些按键排序这个向量的方法,使用 std::sort()
std::sort(items.begin(), items.end(), comparePairs<K,V>);
我有编译错误,里面说
“无法将参数号从 'std::pair<_Ty1,_Ty2>' 转换为 'const void*'”
. 什么是错误?