Political Confusion wrote:
Political Confusion
writes: I'm using Boost 1.43 with MSVC9 SP1 and Windows SDK v7 on Windows 7. I've
Simple Case" example (i.e. added 'access' as friend and a templated serialize function). In serialize, I just archive 10 ints (signed and unsigned). It compiles fine, but when I add
created a class like the "A Very program code to save my class to
a text_oarchive, I get a warning:
c:\third-party\boost_1_43_0\boost\mpl\print.hpp(51) : warning C4308: negative integral constant converted to unsigned type
Line 51 of print.hpp is: enum { n = sizeof(T) + -1 };
Calling sizeof() on my class gives a 44. I do not get any warning when I load my class with text_iarchive. And both save and load appear to work fine.
I had to add the following to make this warning go away:
BOOST_CLASS_TRACKING( my_class, boost::serialization::track_never )
This warning should precede a long call chain. If you go to the the call BEFORE this, you should find a comment which indicates why this warning is invoked. Robert Ramey