Boost C++ Libraries: Ticket #12469: BOOST_MPL_PRINT_HPP generates error: negative integral constant converted to unsigned type https://svn.boost.org/trac10/ticket/12469 <p> Hi, serialization in win32 generates compile error in VS2015. The error is: c:\program files\boost\boost_1_61_0\boost\mpl\print.hpp(52): error C4308: negative integral constant converted to unsigned type </p> <pre class="wiki">#elif defined(BOOST_MSVC) enum { n = sizeof(T) + -1 }; #elif defined(__MWERKS__) </pre><p> And ultimately this was triggered by: </p> <pre class="wiki">private: // the range of the output hashed variable size_t mWidth; size_t mPrime; size_t mKindependent; std::shared_ptr&lt;std::vector&lt;size_t&gt; &gt; mpCoefficients; friend class boost::serialization::access; template&lt;class Archive&gt; void serialize(Archive &amp; ar, const unsigned int version) { ar &amp; mPrime ; ar &amp; mKindependent ; ar &amp; mpCoefficients ; ar &amp; mWidth; } </pre><p> All works in 64 bit mode. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12469 Trac 1.4.3 Robert Ramey Tue, 01 Nov 2016 22:02:49 GMT owner, component changed https://svn.boost.org/trac10/ticket/12469#comment:1 https://svn.boost.org/trac10/ticket/12469#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Robert Ramey</span> to <span class="trac-author">Aleksey Gurtovoy</span> </li> <li><strong>component</strong> <span class="trac-field-old">serialization</span> → <span class="trac-field-new">mpl</span> </li> </ul> <p> Actually you should be posting this to the MPL library </p> Ticket