title: Boost::asio async_wait handler signature
body: <p>I am going through the boost::asio examples. I am looking at 
  <a href="http://www.boost.org/doc/libs/1_38_0/doc/html/boost_asio/tutorial/tuttimer4.html" rel="nofollow noreferrer">Example 4</a></p>
  
  <p>What is confusing is that, the WaitHandler in this example has the signature </p>
  
  <blockquote>
    <p>void print (this) </p>
  </blockquote>
  
  <p>But the async_wait call expects a handler whose </p>
  
  <blockquote>
    <p>function signature of the handler must be:</p>
    
    <p>void handler(
      const boost::system::error_code&amp; error // Result of operation.
    );</p>
  </blockquote>
  
  <p><a href="http://www.boost.org/doc/libs/1_40_0/doc/html/boost_asio/reference/basic_deadline_timer/async_wait.html" rel="nofollow noreferrer">Source: Boost documentation</a></p>
  
  <p>Since the parameter type is part of a function's signature, why in the example above, async_wait accepts a handler whose parameter is not of type boost::system::error_code?</p>
  
  <p>THanks.</p>