Bonjour !

J'ai du mal à mettre en forme un simple problème de tri avec std::sort :

j'ai une base de donnée constituée de structures :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class CWaypoint
{
public:
    double lat;
    double lon;
    double alt;
    QString name;
    int nType;
 
    CWaypoint();
    void serialize(QDataStream& stream);
    void deserialize(QDataStream& stream);
    CWaypoint &operator=(const CWaypoint &source);
};
ces données sont contenue dans un tableau:
Cwaypoint* m_points[MAXSIZE];

Je fais une recherche pour trouver les points ayant un même nom (attribut name), je récupère le résultat de la recherche sous forme d'une liste d'indices dans le tableau (soit QList<int> m_Resultats) et je souhaite les classer par altitude (attribut alt), c'est à dire obtenir les indices des points ayant le même nom par altitude croissante. je veux donc utiliser std::sort(mResultats.begin(), m_Resultats.end(), "fonction de tri"), mais j'ai du mal à voir comment formuler cette fonction (lambda, operateur, ...).

Toute suggestion est la bienvenue