我想使用boost :: bind和boost :: function,但出现编译错误。 为什么不能将占位符绑定到函数对象?为什么不这个“boost :: bind”编译?
void fun_1(const boost::system::error_code& error)
{
std::cout<<"test_1------------"<<std::endl;
}
void fun_2(int i)
{
std::cout<<"tset_2------------"<<std::endl;
}
int main(void)
{
boost::function0<void> fobj;
//fobj = boost::bind(&fun_1,boost::asio::placeholders::error);//compile failed
fobj = boost::bind(&fun_2,5);//syntax is ok
return 0;
}
什么是错误?你是否包含相关的asio头文件?如果使用_1代替asio占位符,它会编译吗? –
有一个关于模板实例化的很长的错误信息,我想我已经包含了所有必要的头文件 – user1834749