
I am having trouble wrapping my head around object tracking for serialization. I see how to change the default behavior: BOOST_CLASS_TRACKING(my_class, boost::serialization::track_never) ...but based on the error below how do I determine what kind of object tracking is needed? oserializer.hpp:566: error: invalid application of 'sizeof' to incomplete type 'boost::STATIC_ASSERTION_FAILURE<false>' inline void save(Archive & ar, T &t){ // if your program traps here, it indicates taht your doing one of the following: // a) serializing an object of a type marked "track_never" through a pointer. // b) saving an non-const object of a type not markd "track_never) // Either of these conditions may be an indicator of an error usage of the // serialization library and should be double checked. See documentation on // object tracking. BOOST_STATIC_ASSERT(check_tracking<T>::value); The following is the class to be serialized: class client_i { private: friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version) { ar & m_client; } clients m_client; public: client_i() {}; client_i(clients c) : m_client(c) {}; ~client_i() {}; }; clients is a mysql++ specialized sql structure that is created via one of the mysql++ macros, i.e. sql_create_N(). Any help understanding this would be greatly appreciated. Thanks, Graham