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?