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