Lors de la conversion d'une chaîne en entier, je n'arrive pas à effacer mon flux istrings pour le placer dans un autre nombre. J'ai essayé toutes sortes de solutions différentes, mais ça ne marchera pas. Il y a quelques contournements travail mais j'aimerais apprendre à savoir pourquoi ...Pourquoi le nettoyage istringstream échoue-t-il?
Donc, fondamentalement, voici comment mon code ressemble
#include <iostream>
#include <string>
#include <sstream>
int main() {
std::string a = "153";
std::string c = "2556";
int b;
std::istringstream convert(a);
convert >> b;
std::cout << b << std::endl;
convert.str(std::string());
//convert.str("");
convert.clear();
convert(c);
convert >> b;
std::cout << b << std::endl;
return 0;
}
Et l'erreur de sortie suivante
C:\...\string to int.cpp|28|error: no match for call to '(std::istringstream {aka std::basic_istringstream<char>}) (std::string&)'|
Merci :)