Bonjour à tous,

j'ai un peu de mal à trouver des réponses sur ce que je cherche alors je viens vers vous.

Voici mon problème :

je voudrais pouvoir écrire ceci :


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
 
struct mystruct {
        gna gna gna...
 
        bool less (const int& a, const int& b) const 
        {
             return gna gna gna ;
        }
 
        struct classcomp {
                 bool operator () (const int&a, const int& b)  const 
                 {
                      return less(a,b) ;
                 }
         };
 
} ;
et pouvoir créer ailleurs des conteneurs utilisant classcomp, comme par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
 
void myfunction (::mystruct machin)
{
         std::set<int, machin.classcomp> myset ;
         myset.insert(12) ;
}
problème : ce brave compilateur n'accepte pas de comparateur qui ne soit pas vraiment const.

Je vois pas trop comment arriver à une solution équivalente.

Merci d'essayer de m'aider en tout cas

regisportalez