probleme d'assignation de parametres d'une map

probleme d'assignation de parametres d'une map - C++ - Programmation

Marsh Posté le 26-04-2006 à 16:38:27    

J'ai un blè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 :
  1. void Terminal::assign_param(){
  2. std::map<std::string, std::string>::iterator iter = parametres.begin () ;
  3. while (iter != parametres.end ()) {
  4.    std::cout <<   iter -> first << " : " << iter -> second <<std::endl ;
  5.    if(iter -> first.find("advancedPrediction " )!=-1){advancedPrediction = iter -> second;}
  6.    iter ++;
  7.    }
  8. std::cout<<std::endl << advancedPrediction << std::endl;
  9. }


 
 
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 ?


Message édité par Thordax le 26-04-2006 à 16:43:55
Reply

Marsh Posté le 26-04-2006 à 16:38:27   

Reply

Marsh Posté le 26-04-2006 à 16:42:09    

je précise que le code compile bien, contrairement a ce que l'affichage laisse penser a croire (le reste du code, en rouge, n'est pas du commentaire ...)

Reply

Marsh Posté le 26-04-2006 à 16:58:12    

c'est quoi le type de advancedPrediction ?

Reply

Marsh Posté le 26-04-2006 à 17:01:11    

RAJOUT : 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 ...
 
Taz => std::string


Message édité par Thordax le 26-04-2006 à 17:01:37
Reply

Marsh Posté le 26-04-2006 à 17:36:54    

1) on a pas de code concis compitable, on comprend rien
2) si le seul fait de changer la visibilité debug ton programme, c'est que tu as clairement un problème ailleurs.

Reply

Marsh Posté le 26-04-2006 à 18:02:37    

ouaip ben écoute je pige pas j'ai rebooté et ca remarche et j'ai absolument rien changé au code, va comprendre charles :(

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed