
I'm pretty sure I addressed this in 1.41 Robert Ramey OvermindDL1 wrote:
On Mon, Nov 16, 2009 at 10:12 AM, Stefan Ulbrich
wrote: Thanks for your answer, Robert. Mi compiler version is: gcc version 4.0.1 (Apple Inc. build 5465)
The error occurs only in the load method of the class and the serialization routines for the matrix class are non-inversive (save seems to work).
Do you have any idea what is causing this error?
I get a similar error on Visual Studio 2005 if the class in the shared pointer is not virtual. Just add something like this to your class and it magically works (I hate adding the overhead though...)
private: virtual __dummy_virtual_to_get_boost_serialization_to_work(void){}
And no, I have no clue why Boost.Serialization requires a virtual class to be able to compile through a shared pointer, it is quite irritating, I had to make a wrapper class in one case...
I asked about this on the list before, but no one gave an answer why or how to work around it.