error: no se puede convertir 'std :: basic_string <char> :: iterator ...' a 'const char * para el argumento' 1 '...'

Recibo el siguiente error:

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 alguna razón, mi programa se compila perfectamente cuando estoy trabajando en una Mac ... pero una vez que uso una máquina Linux, este error aparece en más de un lugar. (Si alguien pudiera explicar por qué ocurre esto, ¡sería genial!)

Aquí está una de las instancias donde aparece el error:

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 ...
}

Más específicamente, el error proviene de esta línea:

t.erase(std::remove(t.begin(), t.end(), chars[0]), t.end());

¿Alguien sabe cómo abordar este problema?

Respuestas a la pregunta(1)

Su respuesta a la pregunta