Probleme avec mon iterateur

a marqué ce sujet comme résolu.

Je ne sais pas si ta ligne 20 est ce qui apparaît comme la ligne 9, mais tu as oublié les parenthèses lors de l’appel de fonction, ce qui fait que le compilateur (à cause de l’astérisque) essaye de multiplier la fonction std::string::pop_back par iterateur, mais il ne sait pas comment.

J’imagine donc que ce que tu voulais écrire était

phrase.pop_back(*iterateur);

ce qui est aussi faux car d’après la doc', la fonction std::string::pop_back ne prend aucun argument.

Bon courage pour la suite ;)

Ah, au passage, std::empty ne s’utilise pas comme ça. Il sert à te dire si la chaîne ne contient aucun caractère, pas à la vider. Pour ça, il faut appeller std::string::clear.

+0 -0

Je ne sais pas si ta ligne 20 est ce qui apparaît comme la ligne 9, mais tu as oublié les parenthèses lors de l’appel de fonction, ce qui fait que le compilateur (à cause de l’astérisque) essaye de multiplier la fonction std::string::pop_back par iterateur, mais il ne sait pas comment.

J’imagine donc que ce que tu voulais écrire était

phrase.pop_back(*iterateur);
ce qui est aussi faux car d'après [la doc'] (https://en.cppreference.com/w/cpp/string/basic_string/pop_back "La doc'"), la fonction `std::string::pop_back` ne prend aucun argument.

Bon courage pour la suite ;)

Ah, au passage, `std::empty` ne s'utilise pas comme ça. Il sert à te dire si la chaîne ne contient aucun caractère, pas à la vider. Pour ça, il faut appeller `std::string::clear`.
Source:[BorisD](https://zestedesavoir.com/forums/sujet/12479/probleme-avec-mon-iterateur/?page=1#p203030)

alors merci et je voulais justement savoir si ma chaine étais vide merci ^^

+0 -0

Difficile de vérifier en ignorant la valeur de retour :euh:

Cette fonction s’utilise comme ça (par exemple)

if (std::empty(phrase)) { // Si la chaîne est vide
    // Faire quelque-chose ici
}

ou encore

while (!std::empty(phrase)) { // Tant que la chaîne contient des caractères
    // Faire autre chose
}

mais la ligne

std::empty(phrase);

ne fait strictement rien.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte