Обработчик завершения должен соответствовать требованиям для обработчика. Значение<h>класса обработчика завершения должно корректно работать в выражении<h()>.
Бесплатная функция в качестве обработчика завершения:
void completion_handler()
{
...
}
Объект функции обработчика завершения:
struct completion_handler
{
...
void operator()()
{
...
}
...
};
Функция нестатического члена класса, адаптированная к обработчику завершения с использованием<bind()>:
void my_class::completion_handler()
{
...
}
...
my_io_service.post(boost::bind(&my_class::completion_handler, this));