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 헤더를 포함 하시겠습니까? asio 대신에 _1을 사용하면 컴파일됩니까? –
템플릿 인스턴스화에 대한 오랜 오류 메시지가 있습니다. 필요한 모든 헤더가 포함되어 있다고 생각합니다. – user1834749