我尝试使用for_each
with boost::trim
。首先我使用了错误的代码
std::for_each(v.begin(),v.end(),&boost::trim<std::string>));
// error: too few arguments to function
然后我用这个修复(在线阅读)
std::for_each(v.begin(),v.end()
,boost::bind(&boost::trim<std::string>,_1,std::locale()));
当编译器需要将此函数传递给for_each
. 我认为因为std::locale
是boost::trim
我的代码的第二个输入参数的默认参数应该有效。