error: 'std :: basic_string <char> :: iterator…' kann nicht in 'const char * für Argument' 1 '…' konvertiert werden

Ich erhalte den folgenden Fehler:

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*)'

Aus irgendeinem Grund lässt sich mein Programm perfekt kompilieren, wenn ich auf einem Mac arbeite. Wenn ich jedoch einen Linux-Computer verwende, tritt dieser Fehler an mehreren Stellen auf. (Wenn jemand erklären könnte, warum dies passiert, wäre das großartig!)

Hier ist einer der Fälle, in denen der Fehler auftritt:

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

Genauer gesagt, der Fehler kommt aus dieser Zeile:

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

Weiß jemand, wie man dieses Problem angeht?