[Serialization]: compiler error when registering derived class
I'm embarrassed to to ask this, but maybe someone could interpret this strange compiler error for me: I am registering a derived class everywhere that it is archived through a base class pointer: class MyDerivedClass : public MyBaseClass { … }; class AnotherClass { MyBaseClass *p; … void serialize(Archive &ar, unsigned int) { ar.register_type(static_cast<MyDerivedClass *>(NULL)); // compiler error here … ar & p; } At the line above, the error is error: no matching function for call to ‘boost::archive::xml_oarchive::register_type(AnotherClass:serialize (Archive&, unsigned int) [with Archive = boost::archive::xml_oarchive]::MyDerivedClass*)’ Does the complier think that MyDerivedClass is a member of boost::archive::xml_oarchive? Im using Boost 1.57 and gcc 4.4.7. Thanks.
participants (1)
-
Mccall, Kurt E. (JSC-EG411)