提升asio deadline_timer
async_wait
函数正在采用以下形式的处理程序:
void handler(const boost::system::error_code& error)
我如何定义一个接收const boost::system::error_code& error
的处理程序以及int
类型的参数?
boost::asio::deadline_timer t(io_service);
t.async_wait(handler); //I need the async_wait to take in handler which accepts argument boost::system::error_code& error and an int
void handler(int, const boost::system::error_code& error )//extra int argument
感谢。
答案 0 :(得分:4)
您可以使用Boost.Bind为第一个参数提供值:
t.async_wait(boost::bind(handler, 0, _1));
这里,将使用0作为第一个参数调用处理程序,而error_code
将仅作为第二个参数转发。