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 :

multimap et itérateur


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 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 128
    Par défaut multimap et itérateur
    Bonjour,

    j'ai une classe qui contient un multimap.
    Mon prog principal ajoute des éléments à ce multimap.
    J'en ajoute 1, j'affiche le ocntenu du multimap, pas de pb.
    J'ena joute un nouveau j'essaie d'afficher son contenu, ca plante..

    il m'affiche mes 2 éléments puis plante sur le it++
    en lancant : "Program received signal: "EXC_BAD_ACCESS"."

    je réalise l'affichage comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Requetes::iterator i = M.Liste_Requetes().begin();
        while (i != M.Liste_Requetes().end()){
          flux << "    Etage " << i->first << " avec sens " << i->second << endl;
          ++i;
        }
    des idées?? merci bcp d'avance


    EDIT : ce post date bcp mais si ca peut servir : en fait je m'étais embrouillé dans les const, M était de type const et Liste_Requete qui s'executait dessus faisait que l'itérateur ne se déplacait pas sur la valeur voulue..

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    le code que tu donnes ne contient pas d'erreur en lui même...

    je suppose que Requetes est un typedef de ta multimap et que M.Liste_Requetes() renvoie bien une référence vers ta multimap ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    A vue de nez, ça sent le retour par valeur pour M.Liste_Requetes(). Donc en gros à chaque appel tu vas avoir une copie différente de ta map, et dès le second appel tu ne testeras plus ton itérateur avec la même instance de ta map.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Si tu as résolu ton problème merci d'indiquer la solution, ça pourra servir à d'autres

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

Discussions similaires

  1. STL : utilisation d'une multimap
    Par romeo9423 dans le forum SL & STL
    Réponses: 7
    Dernier message: 18/08/2005, 07h56
  2. Réponses: 4
    Dernier message: 28/03/2005, 12h37
  3. multimap initialisation
    Par moldavi dans le forum C++
    Réponses: 2
    Dernier message: 14/03/2005, 17h04
  4. mais que fait upper_range() dans un multimap?
    Par porcher dans le forum C++
    Réponses: 7
    Dernier message: 18/02/2005, 22h21
  5. Copies de flots en passant par les itérateurs
    Par Christophe Brun dans le forum C++
    Réponses: 7
    Dernier message: 02/07/2003, 11h41

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