Salut tout le monde,
Je suis entrain de faire un petit programme dans lequel je dois trier un vecteur.
Pour cela j'utilise la fonction sort de la STL mais il semble que mon programme plante(quand je dis plante il tourne dans le vide) lorsque je l'execute.
J'ai bien regardé les tutos fournis sur le site mais je ne trouve pas mon erreur donc je vous l'expose.

Voici mon fichier.h
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
17
class ContactListSortByHostAddrVisitor: public ContactListSortVisitor{
 
          public:
                   ContactListSortByHostAddrVisitor(){};
                   virtual ~ContactListSortByHostAddrVisitor(){}
           void visit(User& u)const;
          private:
                   struct compare
           {
                inline bool operator()(const Contact& c1, const Contact& c2)const
                            { 
                     cout << "ca passe ici" << endl;
                     return c1.getHostAddr()<c2.getHostAddr();
                            }
                       };
 
};
Et le .cpp correspondant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
void ContactListSortByHostAddrVisitor::visit(User& u)const
{
     sort(u.getContactList().begin(),u.getContactList().end(),ContactListSortByHostAddrVisitor::compare());
}
Pouvez vous me dire pourquoi le programme se bloque lors de l'appel a la fontion sort? merci d'avance.

PS: Le message "Ca passe ici" mis dans la fonction de comparaison ne s'affiche pas non plus