Ich habe eine Template-Klasse, die ich serialisieren (C nennen), für die ich eine Version für Boost-Serialisierung angeben möchte. Da BOOST_CLASS_VERSION nicht für Template-Klassen funktioniert. Ich habe es versucht:
%Vor%aber es kompiliert nicht. Unter VC8 gibt ein nachfolgender Aufruf von BOOST_CLASS_VERSION diesen Fehler:
error C2913: explicit specialization; 'boost::serialization::version' is not a specialization of a class template
Was ist der richtige Weg?
Ich konnte das Makro BOOST_CLASS_VERSION richtig benutzen, bis ich es in einem Namespace gekapselt habe. Kompilationsfehler zurückgegeben:
%Vor%Wie in einer vorherigen Bearbeitung vorgeschlagen, wurde das Problem durch Verschieben von BOOST_CLASS_VERSION in den globalen Bereich behoben. Ich würde es vorziehen, das Makro in der Nähe der referenzierten Struktur zu halten.
Tags und Links c++ boost-serialization