मैं C++ टेम्पलेट्स जानने के लिए कोशिश कर रहा हूँ नहीं है और मैं निम्नलिखित कोड है:टेम्पलेट और व्युत्पन्न वर्ग परिभाषा: त्रुटि: 'myClass' एक वर्ग, नाम स्थान, या गणन
#include <stack>
template<typename T>
class myClass : public std::stack<T>{
public:
myClass(void);
myClass(myClass const & src);
virtual ~myClass(void);
myClass & operator=(myClass const & rhs);
};
template<typename T>
myClass::myClass(void) : std::stack<T>(){
}
लेकिन मैं कर सकते हैं ' टी यह पता लगाने जब मैं संकलन करने की कोशिश कारण है कि मैं निम्नलिखित मिल:
test.cpp:17:1: error: 'myClass' is not a class, namespace, or enumeration
myClass::myClass(void) : std::stack<T>(){
^
test.cpp:8:9: note: 'myClass' declared here
class myClass : public std::stack<T>{
^
1 error generated.
यह समारोह की परिभाषा की तरह लग रहा त्रुटि होती है, लेकिन मैं नहीं जानता कि क्यों मैं इस त्रुटि मिलती है, यह मेरे लिए ठीक लग रहा है (भले ही मुझे लगता है कि यह वास्तव में ठीक नहीं है), बस एक वाक्यविन्यास त्रुटि शायद? ..
मैं क्लैंग ++ -Wall -Werror -Wextra -c के साथ संकलित करता हूं।
इस त्रुटि का कारण क्या हो सकता है?
साइड ध्यान दें: एक समारोह कोई पैरामीटर 'myClass() है, बस का उपयोग करें यदि आप' void' निर्दिष्ट करने की आवश्यकता नहीं है, '। – user657267
@ user657267 यह सच है, वास्तव में, लेकिन मुझे इसे अपने स्कूल में प्रोग्रामिंग शैली के कारण (मेरे स्कूल द्वारा पूछा गया, मैंने आदत ली है) के लिए इसका उपयोग करना है। – vmonteco