在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
一个期望少参数的函数(在这种情况下-零) -当粘合剂被调用, 任何额外的参数会被忽略 。