我的代码如下:
std::string &ss_ltrim(std::string &s)
{
s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(std::isspace))));
return s;
}
我不知道为什么会这样提示,是不是还需要添加什么设置和头文件么?
这个是你的传入的数据类型不符合它的函数参数
不好意思,我发错了一句语句,应该是:s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(std::isspace))));
我在别人的项目中发现这个没问题,但是我自己做测试的时候却编译报错,std::ptr_fun: 3 个重载中没有一个可以转换所有参数类型
s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(std::isspace))));
std::isspace需要一个参数,但是你没有制定。你看人家可以,估计人家写的是一个没有参数的函数
参考:http://kingoal.iteye.com/blog/336258