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++ Discussion :

égalité entre deux maps.


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 111
    Par défaut égalité entre deux maps.
    Bonjour,

    j'aimerai savoir comment on teste l'égalité entre deux maps.

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
     
    class A
    {
    ...
    }
     
    class B
    {
    ...
     bool operator==(const B& b){...}
    }
     
     
    typedef map<const A,B> mAB;
     
    mAB a, b, c;
     
    a[A(1)]=B(1);
    a[A(2)]=B(2);
    a[A(3)]=B(3);
     
    b[A(1)]=B(1);
    b[A(2)]=B(2);
    b[A(3)]=B(3);
     
    a==b // doit retourner vrai
     
    c[A(1)]=B(1);
    c[A(2)]=B(2);
    c[A(3)]=B(4);
     
    a==c // doit retourner false
    g++ me dit à la compilation

    /usr/include/c++/4.1.3/bits/stl_pair.h:97: error: no match for ‘operator==’ in ‘__x->std::pair<const A, B>::second == __y->std::pair<const A, B>::second’

    ...

    candidates are: bool parser_set::operator==(const B&) <near match>

    merci d'avance de votre aide

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Remplace ton typedef par :
    MAT.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 111
    Par défaut
    merci de ton aide, mais ca ne résout pas le problème. Le compilateur semble vouloir absolument un const sur la clé du map

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Hmm je ne crois pas non, par contre il faut que operator== soit const pour la clef vraisemblablement.
    De toute façon c'est mieux de le faire systématiquement.

    MAT.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 111
    Par défaut
    ok, j'ai résolu le problème. J'avais défini pour la clé un opérateur de comparaison amie (friend) et pas pour la donnée.

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

Discussions similaires

  1. [XL-2007] recherche égalité entre deux variables dans deux plages de cellules
    Par jmgard dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 03/04/2014, 20h13
  2. Syntaxe pour égalité entre deux lignes : var(i)=var(i+1)
    Par NemoParis dans le forum Débutez
    Réponses: 2
    Dernier message: 28/05/2010, 09h55
  3. [AC-2003] Requête égalité entre deux tables non liées.
    Par Thotho-Maxime dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/07/2009, 09h14
  4. [AJAX] Tester l'égalité entre deux variable
    Par DeeVoiD dans le forum AJAX
    Réponses: 6
    Dernier message: 14/04/2009, 14h07
  5. Test d'égalité entre deux algorithmes, ça existe, est-ce faisable ?
    Par davcha dans le forum Algorithmes et structures de données
    Réponses: 16
    Dernier message: 25/04/2006, 18h04

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