निर्दिष्ट करना मेरे पास एक टेम्पलेट क्लास है जिसे मैं क्रमबद्ध करता हूं (इसे सी कहते हैं), जिसके लिए मैं बूस्ट क्रमबद्धता के लिए एक संस्करण निर्दिष्ट करना चाहता हूं। चूंकि 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 को बाद में एक कॉल इस त्रुटि देता है?
"लेकिन यह संकलित नहीं करता है"। क्या आप हमें उससे कुछ जानकारी दे सकते हैं ?? –
वीसी 8 के तहत: त्रुटि C2913: स्पष्ट विशेषज्ञता; 'बूस्ट :: serialization :: संस्करण' BOOST_CLASS_VERSION के बाद के कॉल पर क्लास टेम्पलेट का एक विशेषज्ञ नहीं है। – Jazz
यह सही दिखता है। त्रुटि संदेश यह सुझाव देता है कि आपने संस्करण.hpp –