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 : Sélectionner tout - Visualiser dans une fenêtre à part
qSort(list.begin(), list.end(), sortFunction);
avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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