ошибка: невозможно преобразовать 'std :: basic_string <char> :: iterator…' в 'const char * для аргумента' 1 '…'

Я получаю следующую ошибку:

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

По какой-то причине моя программа прекрасно компилируется, когда я работаю на Mac ... но как только я использую компьютер с Linux, эта ошибка появляется в нескольких местах. (Если бы кто-нибудь мог объяснить, почему это происходит, это было бы здорово!)

Вот один из случаев, когда появляется ошибка:

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

Более конкретно, ошибка исходит из этой строки:

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

Кто-нибудь знает, как подойти к этой проблеме?

Ответы на вопрос(1)

Ваш ответ на вопрос