title: How do you correctly use boost::make_shared_ptr?
body: <p>This simple example fails to compile in VS2K8:</p>
  
  <pre><code>    io_service io2;
      shared_ptr&lt;asio::deadline_timer&gt; dt(make_shared&lt;asio::deadline_timer&gt;(io2, posix_time::seconds(20)));
  </code></pre>
  
  <p>As does this one:</p>
  
  <pre><code>shared_ptr&lt;asio::deadline_timer&gt; dt = make_shared&lt;asio::deadline_timer&gt;(io2);
  </code></pre>
  
  <p>The error is:</p>
  
  <blockquote>
    <p>error C2664: 'boost::asio::basic_deadline_timer::basic_deadline_timer(boost::asio::io_service &amp;,const boost::posix_time::ptime &amp;)' : cannot convert parameter 1 from 'const boost::asio::io_service' to 'boost::asio::io_service &amp;'</p>
  </blockquote>