Приемник должен соответствовать требованиям для handler. Значение h класса приемного обработчика должно работать правильно в выражении h(ec), где ec является значением типа const eror_code.
Бесплатная функция в качестве приемного обработчика:
void accept_handler(
    const boost::system::error_code& ec)
{
  ...
}
Объект функции приемного обработчика:
struct accept_handler
{
  ...
  void operator()(
      const boost::system::error_code& ec)
  {
    ...
  }
  ...
};
Функция нестатичного члена класса, адаптированная к приемному обработчику с использованием bind():
void my_class::accept_handler(
    const boost::system::error_code& ec)
{
  ...
}
...
acceptor.async_accept(...,
    boost::bind(&my_class::accept_handler,
      this, boost::asio::placeholders::error));