我又遇到了一个令人困扰的错误信息,如果我正确理解std::bind,我可以使用类似_1
的参数来定义未给定的参数吗?对吗?考虑以下代码:
std::function<bool(value_type, const std::string &)>
func(std::bind(&Pred, _1, "name"));
这应该可以工作,对吗?这将用于std :: find_if()函数,因此第一个参数应该是值类型和第二个参数是字符串。
然而,Visual Studio 2010通过以下错误消息抱怨:
错误C2065:“_1”:未声明的标识符
这很奇怪,我怎么能在Visual Studio中说“嘿,第一个参数没有绑定”。Pred是一个简单的函数,它接受value_type,const std :: string&作为参数 - 返回布尔值。
std::placeholders::_1
- Xeo