Bonsoir,
Je cherche d�sesp�remment � trier un std::map<MA_STRUCTURE*, MA_VALUE*> avec std::sort mais rien � faire ca ne compile pas
J'ai du loup� quelque chose, ca marche tr�s bien avec un std::vector mais pas avec une std::map.
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
18
19
20
21
22 struct IdBloc { int id; std::string name; }; struct Bloc { ... } // Foncteur bool comp(const std::pair<IdBloc*, std::vector<Bloc*> >& a1, const std::pair<IdBloc*, std::vector<Bloc*> >& a2 ) { return a1.second < a2.second; } // Définition de la map std::map<IdBloc*, std::vector<Bloc*> > m_blocs; // Tente un tri qui compile pas std::sort(m_blocs.begin(), m_blocs.end(), comp);
Normalement c'est possible de trier par cl� (je me demande m�me si c'est pas cens� �tre automatique ?) mais dans mon cas, la cl� n'est pas un type de base comme int, float, double... mais une structure donc il faut un "foncteur/pr�dicat de comparaison"
Merci � vous et bonne soir�e![]()
Partager