Boost C++ Libraries: Ticket #11708: shared_ptr for void https://svn.boost.org/trac10/ticket/11708 <p> Hi, I have been recently working with smart pointers and found out that boost ASIO uses std::shared_ptr for void type under Visual Studio 2013 compiler, what is basically forbidden by standard - void type is an incomplete type that can not be complete. It may lead to broken compilation under future Microsoft compilers, gcc for sure forbids shared_ptr for void type (at least gcc 4.8) throwing static assertion during compilation: </p> <pre class="wiki">static_assert( !is_void&lt;_Tp1&gt;::value, "incomplete type" ); </pre><p> File: asio/details/socket_ops.hpp:63 </p> <pre class="wiki">typedef shared_ptr&lt;void&gt; shared_cancel_token_type; </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11708 Trac 1.4.3