Problème vector

Problème vector - C++ - Programmation

Marsh Posté le 05-05-2011 à 19:53:27    

Bonjour,  
J'ai un petit problème dans mon code qui me provoque des erreurs dans certains cas ...  
Le code ce trouve en dessus ... donc si par hasard je fais un test avec chaine = "OMG", et que aucun "OMG" se trouve dans mon vector, et ba j'ai l'impression qu'il est ajouter automatiquement avec une valeur vide ...
Exact? Je contourne sa comment ?  
Merci  

Code :
  1. for (std::vector<std::string>::const_iterator it1 = tab[section][chaine].begin();
  2.                  it1 != tab[section][chaine].end(); ++it2)
  3.             {
  4.                            //...
  5.                            //...
  6.             }

Reply

Marsh Posté le 05-05-2011 à 19:53:27   

Reply

Marsh Posté le 06-05-2011 à 00:39:58    

en utilisant find plutot que operator[].

Reply

Marsh Posté le 06-05-2011 à 11:05:19    

la description de ton problème semble plus porter sur une structure associative que sur ton vecteur. Note que tu testes it1 et que tu incrémentes it2 dans le peu de code que tu montres.
 
Si ta variable tab est par exemple du type vector< map< string, vector< string > > > alors le cas que tu décris est potentiellement provoqué par l'utilisation de l'opérateur [] comme le dit Malka1986


---------------
last.fm
Reply

Marsh Posté le 07-05-2011 à 01:59:51    


hello!    :D  
 
 // quelque chose comme ...
 
 if(isvalid(chaine)){
 
for (std::vector<std::string>::const_iterator it1 = tab[section][chaine].begin();
                  it1 != tab[section][chaine].end(); ++it2)
             {
                            //...
                            //...
 
             }
 }

Reply

Sujets relatifs:

Leave a Replay

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