kva*_*nck 10 c++ boost boost-bind boost-asio
asio库在很多例子中都传递了一个错误参数,即; http://think-async.com/Asio/asio-1.5.3/src/examples/echo/async_tcp_echo_server.cpp
这个参数有什么意义?asio实际上是否填充了此参数的错误?
如果我从处理程序函数中删除它,它编译得很好.
Igo*_* R. 11
实际上,asio::placeholders::error相当于_1Boost.Bind占位符,所以bind(&my_class::handler, this, asio::placeholders::error)就像bind(&my_class::handler, this, _1).
当Boost.Asio完成处理程序调度程序调用此处理程序时,error_code将作为此函数的第一个参数传递.
但是,您始终可以bind使用期望较少参数的函数(在本例中为零) - 当调用绑定器时,将以静默方式忽略任何额外参数.