C++ boucle parcourant un string fait planter
Résolu
farcry165
-
all-du-34 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
all-du-34 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour, le code suivant fait planter mon programme, quand je le débug avec visual c++ 2010 j'ai un message d'erreur qui dit « debug assertion failed ! ... expression string subscript out of range ». je ne comprends vraiment pas pourquoi il plante...
merci d'avance pour votre réponse
for(int i=s_calcule.size(); i>0 || i==0; i--) { if(s_calcule[i]=='(') { cout<<"marche"<<endl; debut=i; } }
merci d'avance pour votre réponse
5 réponses
Bonjour,
Ton "i>0 || i==0" peut se simplifier en : "i>=0".
Sinon ton "i" doit s'initialiser à s_calcul.size()-1 car s_calcul[s_calcul.size()] est en dehors de l'espace.
Sinon pourquoi ne pas utiliser des méthodes spécifiques ?
Cdlt,
Ton "i>0 || i==0" peut se simplifier en : "i>=0".
Sinon ton "i" doit s'initialiser à s_calcul.size()-1 car s_calcul[s_calcul.size()] est en dehors de l'espace.
Sinon pourquoi ne pas utiliser des méthodes spécifiques ?
Cdlt,
oui c'est normal car je cherche ce caractère.
(je suis farcry165, si j'ai changer de pseudo c'est par ce que je viens de m'inscrire)
(je suis farcry165, si j'ai changer de pseudo c'est par ce que je viens de m'inscrire)
un grand merci fiddy, sa marche.
je n'utilise pas une méthode spécifique car cela je viens juste de recommencer la programmation et je me rend conte que je ne me souviens plu de grand chose, et je ne me souviens pas qu'il y et une fonction qui fait la même chose que ma boucle, mai si il y en a une dite le moi.
je n'utilise pas une méthode spécifique car cela je viens juste de recommencer la programmation et je me rend conte que je ne me souviens plu de grand chose, et je ne me souviens pas qu'il y et une fonction qui fait la même chose que ma boucle, mai si il y en a une dite le moi.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question