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

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre Expert
    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
    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 confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 505
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

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

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 505
    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
    Membre Expert
    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
    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