나는 부스트 직렬화를위한 버전을 지정하기 위해 내가 직렬화 (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);
};
}
}
그러나 그것은 컴파일되지 않는다.
error C2913: explicit specialization; 'boost::serialization::version' is not a specialization of a class template
을 할 수있는 올바른 방법은 무엇입니까 : VC8에서 BOOST_CLASS_VERSION에 대한 후속 호출이 오류를 준다?
"컴파일되지 않습니다." 당신은 우리에게 그것보다 약간의 정보를 줄 수 있습니까? –
VC8 미만 : 오류 C2913 : 명시 적 전문화; 'boost :: serialization :: version'은 BOOST_CLASS_VERSION에 대한 후속 호출에서 클래스 템플릿 의 특수화가 아닙니다. – Jazz
올바른 것처럼 보입니다. 오류 메시지는 version.hpp를 포함하지 않았 음을 나타냅니다. –