0
:함수에 구성원 신호를 바인딩이 코드 라인은 문제없이 제대로 컴파일
socket_->async_connect(connection_->remote_endpoint(),
boost::bind(boost::ref(connected_),
boost::dynamic_pointer_cast<session<version> >(shared_from_this()),
boost::asio::placeholders::error));
그러나
boost::bind(boost::ref(connected_),
boost::dynamic_pointer_cast<session<version> >(shared_from_this()),
boost::asio::placeholders::error);
부스트 :: 기능 또는이 같은 콜백으로 할당 할 때
incomprehensible errors (링크가 너무 길어서 여기에 적합하지 않기 때문에 링크 됨)이 나타납니다.
한편나는이 같은 무료 부스트에 신호 :: 기능을 결합 성공 :
void print(const boost::system::error_code& error)
{
cout << "session connected";
}
int main()
{
boost::signal<void(const boost::system::error_code &)> connected_;
connected_.connect(boost::bind(&print, boost::asio::placeholders::error));
client<>::connection_t::socket_ptr socket_(new client<>::connection_t::socket_t(conn->service())); // shared_ptr of a tcp socket
socket_->async_connect(conn->remote_endpoint(),
boost::bind(boost::ref(connected_),
boost::asio::placeholders::error));
conn->service().run(); // io_service.run()
return 0;
}
이 작동하고 올바르게 인쇄 session connected
합니다. 여기서 내가 뭘 잘못하고 있니?