Boost Serialisierung: Angabe einer Template-Klassenversion

8

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?

    
Jazz 17.09.2008, 12:26
quelle

2 Antworten

11
%Vor%

: -)

    
James Hopkin 17.09.2008, 14:06
quelle
1

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.

    
dlabs 06.06.2016 14:33
quelle

Tags und Links