erro: não é possível converter 'std :: basic_string <char> :: iterator…' em 'const char * para o argumento' 1 '...'
Estou recebendo o seguinte erro:
error: cannot convert 'std::basic_string<char>::iterator {aka __gnu_cxx::__normal
_iterator<char*, std::basic_string<char> >}' to 'const char*' for argument '1'
to 'int remove(const char*)'
Por alguma razão, meu programa compila perfeitamente quando estou trabalhando em um Mac ... mas, quando uso uma máquina Linux, esse erro aparece em mais de um local. (Se alguém pudesse explicar por que isso ocorre, isso seria ótimo!)
Aqui está uma das instâncias em que o erro aparece:
SomeClass::SomeClass(string t, string art, Time dur) {
char chars[] = ",";
t.erase(std::remove(t.begin(), t.end(), chars[0]), t.end());
art.erase(std::remove(art.begin(), art.end(), chars[0]), art.end());
// Some more code ...
}
Mais especificamente, o erro vem desta linha:
t.erase(std::remove(t.begin(), t.end(), chars[0]), t.end());
Alguém sabe como abordar esse problema?