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 :

probleme d'assignation de parametres d'une map


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Par défaut probleme d'assignation de parametres d'une map
    Hello tout le monde, j'ai un problème d'utilisation d'une map de deux string (dans mon code, la map "parametres") :

    ----------------------------------------------------------------------

    Voici une méthode qui permet, par le biais d'un itérateur, de balayer l'ensemble des éléments de la map, puis d'assigner le parametres qui nous convient. Ici, la classe terminal possede le parametre privé : advancedPrediction. Je veux que des que je retrouve le parametre dans la map, il me place le contenu associé dans la valeur privée de l'objet.

    ----------------------------------------------------------------------

    Exemple : si dans la map, on a advancedPrediction = FALSE

    je veux faire, dans l'objet associé à Terminal, advancedPrediction = "FALSE";

    ----------------------------------------------------------------------

    Je procède donc comme suit (pour l'instant ! la commande fonctionne mieux avec find que si je fais direcement la comparaison avec la chaine, donc je ne bougerai pas ca).

    Le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void Terminal::assign_param(){
    std::map<std::string, std::string>::iterator iter = parametres.begin () ;
    while (iter != parametres.end ()) {
       std::cout <<   iter -> first << " : " << iter -> second <<std::endl ;
       if(iter -> first.find("advancedPrediction")!=-1){advancedPrediction = iter -> second;}
       iter ++;
       }
    std::cout<<std::endl << advancedPrediction << std::endl;
     
    }
    Le programme tombe bien sur la bonne clé, mais lors de l'assignation de la valeur associée a la clé dans le parametre privé, il plante tout simplement, sans me laisser quelque code d'erreur que ce soit. Vous savez pourquoi ?

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Ca paraît très bizarre...
    Quelle plateforme ?
    Au fait, fait plutôt un

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Par défaut
    merci pour le ++ iter

    plateforme : Windows/Dev-C++ c'est grave doc' ?

    [EDIT] j'ai tenté de mettre le parametre en public dans la classe et ca marche mieux, cela dit avoir un parametre comme celui ci en public au lieu de privé ca fait pas tres esthétique ... [/EDIT]

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Si la méthode appartient à la classe, il ne devrait pas y avoir besoin de mettre public, d'autant qu'avec du private s'il y a problème, c'est le compilo qui devrait râler...

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Par défaut
    étonnemment, apres reboot, tout fonctionne a merveille, ... je crois que la gestion de la mémoire n'est pas au top sous zindoz, enfin bon

    bon du coup j'ai un autre probleme, je cherche à créer une méthode qui recopie l'élément trouvé dans la map, par balayage, ca donne pour l'instant un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void assigne_element(std::string element, std::string parametre, std::map<std::string, std::string>::iterator &iter){
      if(iter -> first.find(element)!=-1){
        parametre = iter -> second;}
      }
    parametre est le parametre "privé" de la classe

    or dans la même méthode, lorsque je demande l'affichage du parametre, cela ne renvoit rien, pourtant je sais que ces lignes de code, utilisées de maniere brutes (donc non implémentées dans une méthode assigne_element, fonctionne, est ce logique ?

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Oui, element n'est pas une référence donc sa modif est perdue.

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

Discussions similaires

  1. Probleme de passage de parametres a une procedure
    Par blondelle dans le forum C++Builder
    Réponses: 8
    Dernier message: 22/10/2008, 21h28
  2. [Ajax] probleme de récupération des paramètre d'une liste déroulante
    Par cyberdevelopment dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/08/2006, 18h57
  3. Réponses: 7
    Dernier message: 20/03/2006, 12h19
  4. Probleme avec le signe & contenu dans un parametre d'une
    Par Ludo_xml dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 22/08/2005, 15h45
  5. Probleme valeur de parametre dans une fonction
    Par TitouLolo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/05/2005, 13h56

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