Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ std::bind-在visual studio中编译意外(未声明的标识符)错误_C++_Visual Studio 2010_C++11_Stdbind - Fatal编程技术网

C++ std::bind-在visual studio中编译意外(未声明的标识符)错误

C++ std::bind-在visual studio中编译意外(未声明的标识符)错误,c++,visual-studio-2010,c++11,stdbind,C++,Visual Studio 2010,C++11,Stdbind,另一个让我不安的错误消息是,如果我正确理解std::bind,我可以使用像\u1这样的参数来定义一个非给定的参数吗?对吗?考虑到以下几点: std::function<bool(value_type, const std::string &)> func(std::bind(&Pred, _1, "name")); std::函数 func(std::bind(&Pred,_1,“name”); 这应该管

另一个让我不安的错误消息是,如果我正确理解std::bind,我可以使用像
\u1
这样的参数来定义一个非给定的参数吗?对吗?考虑到以下几点:

std::function<bool(value_type, const std::string &)> 
                             func(std::bind(&Pred, _1, "name"));
std::函数
func(std::bind(&Pred,_1,“name”);
这应该管用,对吧?这将用于std::find_if()函数,因此第一个参数应该是值类型,第二个参数应该是字符串

但是visual studio 2010对此表示不满,并显示以下错误消息:

错误C2065:“\u 1”:未声明的标识符


这很奇怪,我怎么能在VisualStudio中说“嘿,第一个参数不受约束”。Pred是一个简单的函数,它将
值类型、const std::string&
作为参数-返回布尔值。

在您的例子中,您需要:

std::function<bool(value_type, const std::string &)> 
                         func(std::bind(&Pred, std::placeholders::_1, "name"));
std::函数
func(std::bind(&Pred,std::占位符::_1,“name”);

std::占位符::_1
hmm这实际上是有意义的。。。en.cppreference.com/w/cpp/utility/functional/bind让我在这里走错路了:P@paul23是的,页面不太清楚占位符位于不同的名称空间中-我只是编辑页面以使其更明显:-)