c++ - class template specialization with nondatatype template parameter -
मैं निम्नलिखित कोड के साथ कोशिश कर रहा हूं:
#include & lt; iostream & gt; नेमस्पेस एसटीडी का उपयोग करना; टेम्पलेट & lt; typename T, int SIZE & gt; क्लास स्टैक {टी एलिमेंट; T आकार [SIZE]; सार्वजनिक: शून्य सेट एलेमेंट (टी एलएलएमटी) {element = elmt; Cout & lt; & lt; "इनसाइड सेट एलेमेंट" & lt; & lt; endl; }; स्टैक () {cout & lt; & lt; "कन्स्ट्रक्टर" & lt; & lt; endl; Cout & lt; & lt; "SIZE है" & lt; & lt; SIZE & lt; & lt; endl; }}; // इंट क्लास स्पेशलाइजेशन टेम्पलेट के & lt; & gt; क्लास स्टैक & lt; int & gt; {Int तत्व; पूर्ण आकार [आकार]; सार्वजनिक: शून्य सेट एलेमेंट (इंट एल्मट) {element = elmt; Cout & lt; & lt; "इनसाइड सेट एलेमेंट" & lt; & lt; endl; }; स्टैक () {cout & lt; & lt; "कन्स्ट्रक्टर" & lt; & lt; endl; Cout & lt; & lt; "SIZE है" & lt; & lt; SIZE & lt; & lt; endl; }} Int main (int argc, char ** argv) {स्टैक & lt; float, 50 & gt; रों; ढेर & LT; पूर्णांक, 20 & gt; एस 1; } मेरे पास स्टैक टेम्प्लेट क्लास को 'इंट डेटाटिप' के लिए विशेष है
लेकिन मैं टेम्पलेट के अंदर टेम्पलेट के अंदर गैर-प्रकार के टेम्प्लेट पैरामीटर 'int SIZE' लाने का तरीका नहीं जानता हूं?
मैं संकलन त्रुटि के नीचे मिल रहा हूं:
temp1.cpp: 26: 7: त्रुटि: कक्षा टेम्पलेट 'स्टैक' क्लास स्टैक & lt; int & gt; के लिए बहुत कम टेम्पलेट तर्क ^ Temp1.cpp: 5: 7: नोट: टेम्प्लेट यहां घोषित किया गया है वर्ग स्टैक ^ temp1.cpp: 44: 1: त्रुटि: पिछले '(त्रुटि)' घोषणापत्र विनिर्देशक int main (int argc, char ** argv) ^ Temp1.cpp: 44: 5: त्रुटि: कोई फ़ंक्शन टेम्प्लेट फ़ंक्शन टेम्पलेट स्पेशलाइजेशन 'main' int main (int argc, char ** argv) यह कैसे करें?
आप अपने विशेषीकरण पर SIZE टेम्पलेट पैरामीटर गुम है। < P> टेम्पलेट घोषणा होना चाहिए: टेम्पलेट & lt; int SIZE & gt; क्लास स्टैक & lt; int, SIZE & gt;
लाइव डेमो।
Comments
Post a Comment