IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

[C++] Trier un std::map par clé => fonctionne pas


Sujet :

C++/CLI

  1. #1
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut [C++] Trier un std::map par clé => fonctionne pas
    Bonsoir,

    Je cherche désespéremment à trier un std::map<MA_STRUCTURE*, MA_VALUE*> avec std::sort mais rien à faire ca ne compile pas
    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);
    J'ai du loupé quelque chose, ca marche très bien avec un std::vector mais pas avec une std::map.
    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
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Pourquoi ne pas utiliser le troisième paramètre du template std::map ?

    http://www.cplusplus.com/reference/map/map/

  3. #3
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Pourquoi ne pas utiliser le troisième paramètre du template std::map ?

    http://www.cplusplus.com/reference/map/map/
    Ca marche, merci

    Je suis un peu fatigué ces derniers temps, faut que j'arrête de coder

    Bonnes soirée
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CKEditor] Accès CKFinder par URL ne fonctionne pas
    Par Mister Nono dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 21/05/2014, 10h24
  2. [Wamp] error_log par défaut ne fonctionne pas?
    Par badoumba dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 17/12/2011, 07h23
  3. Restauration par mysqldump ne fonctionne pas
    Par CinePhil dans le forum Administration
    Réponses: 1
    Dernier message: 24/03/2011, 13h40
  4. Réponses: 6
    Dernier message: 22/09/2008, 14h07
  5. Trier un std::map selon les valeurs plutot que les clés
    Par dj.motte dans le forum SL & STL
    Réponses: 2
    Dernier message: 13/11/2004, 21h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo