मेरे पास एक टेम्पलेटेड क्लास ए < टी, इंट> और दो टाइपपीफ ए < स्ट्रिंग, 20> और ए < स्ट्रिंग, 30> है। मैं < स्ट्रिंग, 20> के लिए कन्स्ट्रक्टर को ओवरराइड कैसे करूं? निम्नलिखित काम नहीं करता:सी ++ कन्स्ट्रक्टर का सी ++ टेम्पलेट विशेषज्ञता
template <typename T, int M> class A;
typedef A<std::string, 20> one_type;
typedef A<std::string, 30> second_type;
template <typename T, int M>
class A {
public:
A(int m) {test= (m>M);}
bool test;
};
template<>
one_type::one_type() { cerr << "One type" << endl;}
मैं कुछ है कि अन्य वर्ग नहीं है ऐसा करने के लिए वर्ग एक < std :: स्ट्रिंग, 20> चाहते हैं। मैं कन्स्ट्रक्टर ए: ए (int) को बदले बिना ऐसा कैसे कर सकता हूं?
आप कक्षाएं करने के लिए प्राप्त करने के लिए कोशिश कर रहे हैं? – GManNickG
सवाल अस्पष्ट है। बीटीडब्ल्यू, एक_ प्रकार के पास कोई खाली कन्स्ट्रक्टर नहीं है, इसमें int पैरामीटर के साथ कन्स्ट्रक्टर है। – Drakosha