当前位置:  开发笔记 > 编程语言 > 正文

提升序列化:指定模板类版本

如何解决《提升序列化:指定模板类版本》经验,为你挑选了1个好方法。

我有一个我序列化的模板类(称之为C),为此我要为boost序列化指定一个版本.由于BOOST_CLASS_VERSION不适用于模板类.我试过这个:

namespace boost {
namespace serialization {
    template< typename T, typename U >
    struct version< C >
    {
        typedef mpl::int_<1> type;
        typedef mpl::integral_c_tag tag;
        BOOST_STATIC_CONSTANT(unsigned int, value = version::type::value);
    };
}
}

但它没有编译.在VC8下,后续调用BOOST_CLASS_VERSION会出现此错误:

error C2913: explicit specialization; 'boost::serialization::version' is not a specialization of a class template

这样做的正确方法是什么?



1> James Hopkin..:
#include 

:-)


如果BOOST_CLASS_VERSION宏在命名空间内,它也需要是全局的,也会发生此错误.
推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有