Boost序列化:指定模板类版本
时间:2020-03-05 18:58:43 来源:igfitidea点击:
我有一个序列化的模板类(称为C),我想为其指定一个用于Boost序列化的版本。因为BOOST_CLASS_VERSION不适用于模板类。我尝试了这个:
namespace boost { namespace serialization { template< typename T, typename U > struct version< C<T,U> > { typedef mpl::int_<1> type; typedef mpl::integral_c_tag tag; BOOST_STATIC_CONSTANT(unsigned int, value = version::type::value); }; } }
但它不能编译。在VC8下,对BOOST_CLASS_VERSION的后续调用会出现此错误:
错误C2913:显式专业化; 'boost :: serialization :: version'不是类模板的专门化`
正确的方法是什么?
解决方案
回答
#include <boost/serialization/version.hpp>
:-)