Bonjour
j'utilise kepler pour progammer en c++
j'ai la fonction suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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