को देखते हुएनिर्वासन टेम्पलेट 'असंगत स्पष्ट instantiations'
#include <vector>
// Case I: error
त्रुटि C2961: 'std :: वेक्टर>': असंगत स्पष्ट instantiations, पिछले एक स्पष्ट इन्स्टेन्शियशन 'निर्वासन टेम्पलेट'
निर्दिष्ट नहीं था
template class std::vector<int>;
extern template class std::vector<int>;
// Case II: fine
//extern template class std::vector<int>;
//template class std::vector<int>;
// Case III: fine
//extern template class std::vector<int>;
//template class std::vector<int>;
//template class std::vector<int>;
// Case IV: fine
//extern template class std::vector<int>;
//extern template class std::vector<int>;
//template class std::vector<int>;
//template class std::vector<int>;
int main()
{
}
मैं वीएस2015 संस्करण 4.6 के साथ कोड बनाता हूं और C2961 त्रुटि देखता हूं। हालांकि, मुझे कंपाइलर http://gcc.godbolt.org/ के साथ त्रुटि दिखाई नहीं दे रही है।
क्या यह वीएस2015 के साथ एक बग है?
'std :: vector' कम से कम दो टेम्पलेट तर्क लेता है, एक नहीं। (वास्तविक संख्या कार्यान्वयन-परिभाषित है।) – ildjarn
@ildjarn डिफ़ॉल्ट रूप से क्यों नहीं लाएगा? –
@ildjarn 'वेक्टर' का दूसरा तर्क पूरी तरह से वैकल्पिक है। http://www.cplusplus.com/reference/vector/vector/ –