c ++ custom compare função para std :: sort ()
Eu quero criar função de comparação personalizada para std :: sort (), para classificar alguns pares de valor-chave std :: pair
Aqui é a minha função
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;
}
Então, dentro de alguma classe eu tenho vetor de par de alunos:
vector<pair<K,V>> items;
E algum método para classificar este vetor por chaves, usando std :: sort ()
std::sort(items.begin(), items.end(), comparePairs<K,V>);
Eu tenho erros de compilação dentro, que disse
"não é possível converter o número do parâmetro de 'std :: pair <_Ty1, _Ty2>' para 'const void *'"
. O que é um erro?