Utiliser une méthode d'une instance, dans une callback
Bonjour
Plutôt que de tenter de décrire mon problème, je prends un exemple, cela sera sûrement plus simple !
J'utilise le framework Qt.
Je cherche à trier une QList. J'utilise la fonction :
Code:
qSort(list.begin(), list.end(), sortFunction);
avec
Code:
bool sortFunction(const LeType &s1, const LeType &s2);
Jusque là, c'est ok ; Maintenant, je désire trier cette liste en utilisant un membre d'une instance dans la fonction de tri.
Je ne trouve pas la bonne méthode / syntaxe.
Ecrit en code qui ne compile pas, cela serait quelque chose comme ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
// en préambule, nous avons implémenté sur QString, un opérateur "-" qui renvoie la
// distance entre les deux opérandes.
class MaClasse(){
public:
void trierSurDistance(){
qsort(list.begin(), list.end(), this->sortFunction);
}
private:
bool sortFunction(const QString& s1, const QString& s2){
return s1-reference < s2-reference;
}
QString reference;
} |
Quelle est la solution élégante pour faire cela ?
Merci
Henri