Boost logo

Boost Users :

From: RIVASSEAU Jean Noel (JN.RIVASSEAU_at_[hidden])
Date: 2006-03-01 03:59:39


I quote the Boost serialization docs:

 

When serializing an object through a pointer to its base class and that base class is abstract (i.e. has at least one virtual function assigned a value of 0), A compile error will be emitted. This is addressable in one over several ways:

* remove the =0 in the base classes so that the base class is no longer abstract.
* implement is_abstract for your compiler. (code written according to the C++ standard is included with this library. But it is known to fail on several compilers.
* use the macro BOOST_IS_ABSTRACT(my_class) to indicate that the class is an abstract base class. This will cause the compiler to avoid generating code that causes this error.

I still do not understand part 2 of this advice, Robert. Could you explain?

 

Jean-Noël

 

Ps: as already mentioned, part 3 does not change anything for me, and I'd like to avoid the solution of part 1 since I do want the base class to be abstract.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net