Bonjour.
je m'initie au C++ et je rencontre un problème lors de la compilation d'un bout de code
compile très bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 std::ifstream fichier_lecture {"texte.txt"}; std::string ligne {""}; while (std::getline(fichier_lecture,ligne)) { nb_ligne++; std::string::iterator it {std::find(std::begin(ligne),std::end(ligne),' ')}; while (it != std::end(ligne)) { ... } ... } }
alors querenvoie le message d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 std::ifstream fichier_lecture {"texte.txt"}; std::string ligne {""}; while (std::getline(fichier_lecture,ligne)) { nb_ligne++; while (std::string::iterator it {std::find(std::begin(ligne),std::end(ligne),' ')} != std::end(ligne)) { ... } ... } }Pourquoi, dans la deuxième version, le compilateur cherche-t-il à convertir mon itérateur en booléen?
Code : Sélectionner tout - Visualiser dans une fenêtre à part could not convert 'it' from 'std::__cxx11::basic_string<char>::iterator' to 'bool'
La condition du while reste bien une comparaison entre 2 itérateurs, non?
Merci de votre aide.






Répondre avec citation












Partager