我想为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;
}
Run Code Online (Sandbox Code Playgroud)
然后,在一些类里面我有对类成员的向量:
vector<pair<K,V>> items;
Run Code Online (Sandbox Code Playgroud)
以及使用std :: sort()按键对此向量进行排序的一些方法
std::sort(items.begin(), items.end(), comparePairs<K,V>);
Run Code Online (Sandbox Code Playgroud)
我内部有编译错误,其中说
"无法将参数编号从'std :: pair <_Ty1,_Ty2>'转换为'const void*'"
.什么是错误?
c++ ×1