如果使用using namespace std,会出现编译错误
11.4.cpp:17:55: error: no matching function for call to ‘remove_if(std::__cxx11::basic_string<char>::iterator, std::__cxx11::basic_string<char>::iterator, <unresolved overloaded function type>)’
word.erase(remove_if(word.begin(),word.end(),ispunct),word.end());
^
如果不使用using namespace std就不会出现问题。主要是std空间中有两个ispunct函数,编译器不能判断应该使用哪一个。
见知乎回答为什么用了using namespace std会报错?