У меня есть класс шаблонов, который я сериализую (назовите его C), для которого я хочу указать версию для повышения сериализации. Поскольку 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 дает эту ошибку:
error C2913: explicit specialization; 'boost::serialization::version' is not a specialization of a class template
Что такое правильный способ сделать это?
«но он не компилируется». Можете ли вы дать нам некоторую информацию, чем это? – 2008-09-17 12:39:39
Под VC8: ошибка C2913: явная специализация; «boost :: serialization :: version» не является специализацией шаблона класса при последующем вызове BOOST_CLASS_VERSION. – Jazz 2008-09-17 13:28:40