这是在 g++ 4.6.3 中产生错误的代码
for (int i = 0; i < strlen(chars); i++)
{
a.erase (remove(a.begin(), a.end(), chars[i]), a.end());
}
我得到的错误是
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*)'
该代码在代码块 12.11 中运行良好。