erase dans kepler ne fonctionne pas
Bonjour
j'utilise kepler pour progammer en c++
j'ai la fonction suivante
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
std::string traitement_chaine(std::string const & chaine)
{
std::string copie{ chaine };
// D'abord on enlève les espaces au début...
auto premier_non_espace{ std::find_if_not(std::begin(copie), std::end(copie), isspace) };
10 copie.erase(std::begin(copie), premier_non_espace);
// ...puis à la fin.
std::reverse(std::begin(copie), std::end(copie));
premier_non_espace = std::find_if_not(std::begin(copie), std::end(copie), isspace);
20 copie.erase(std::begin(copie), premier_non_espace);
std::reverse(std::begin(copie), std::end(copie));
return copie;
} |
l'appel des lignes 10 et 20 me donne l'erreur suivante :
Code:
1 2 3 4 5 6 7
|
Invalid arguments '
Candidates are:
std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>> & erase(unsigned int, unsigned int)
__gnu_cxx::__normal_iterator<char *,std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>> erase(__gnu_cxx::__normal_iterator<const char *,std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>>)
__gnu_cxx::__normal_iterator<char *,std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>> erase(__gnu_cxx::__normal_iterator<const char *,std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>>, __gnu_cxx::__normal_iterator<const char *,std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>>)
' disco2.cpp /disco2/src line 18 Semantic Error |
je ne comprend pas cette fonction marche correctement avec code block
merci de me dépanner