Jaz*_*azz 9 c++ boost-serialization
我有一个我序列化的模板类(称之为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);
};
}
}
Run Code Online (Sandbox Code Playgroud)
但它没有编译.在VC8下,后续调用BOOST_CLASS_VERSION会出现此错误:
error C2913: explicit specialization; 'boost::serialization::version' is not a specialization of a class template
这样做的正确方法是什么?
Jam*_*kin 12
#include <boost/serialization/version.hpp>
Run Code Online (Sandbox Code Playgroud)
:-)
| 归档时间: |
|
| 查看次数: |
4208 次 |
| 最近记录: |