c++ - Class 'is not a template type' -
इस त्रुटि का क्या अर्थ है?
Generic.h: 25: त्रुटि: 'जेनेरिक 'एक टेम्पलेट प्रकार नहीं है
यहां सामान्य है।
टेम्पलेट & lt; class T & gt; कक्षा सामान्य: सार्वजनिक QObject, सार्वजनिक CFG, सार्वजनिक आभासी मूल्यांकनकर्ता {Q_OBJECT std :: string key_; std :: वेक्टर & LT; std :: स्ट्रिंग & gt; layouts_; std :: वेक्टर & LT; std :: स्ट्रिंग & gt; static_widgets_; Std :: नक्शा & lt; std :: स्ट्रिंग, std :: vector & lt; widget_template & gt; & Gt; widget_templates_; Std :: नक्शा & lt; std :: स्ट्रिंग, विजेट * & gt; widgets_; Int type_; एलसीडीड्रापर * आवरण +; संरक्षित: एलसीडी पाठ * एलसीडीटीईटी_; सार्वजनिक: सामान्य (जेसन :: मान * कॉन्फ़िग, इंट प्रकार); ~ जेनेरिक (); शून्य सीएफजीसेटअप (एसटीडी :: स्ट्रिंग कुंजी); शून्य BuildLayouts (); शून्य प्रारंभरेखा (); Int GetType () {return type_; } // टी * GetLCD () {वापसी एलसीडी_; } एलसीडी पाठ * GetLCDText () {वापसी एलसीडीटीईटी_; } आभासी शून्य कनेक्ट () {}; वर्चुअल शून्य सेटअपडिवाइस () {}; Std :: नक्शा & lt; std :: स्ट्रिंग, विजेट * & gt; विजेट (); Std :: स्ट्रिंग CFG_Key (); एलसीडीड्रापर * GetWrapper () {आवरण wrapper_; }};
क्या समस्या यह है कि वह अन्य वर्गों को उप-वर्ग बनाता है? मैंने एक सिद्धांत प्रयोग की कोशिश की, लेकिन यह इस त्रुटि को उत्पन्न नहीं करता।
संपादित करें: ठीक है, तो आप में से कुछ लोगों ने बताया कि मैं सामान्य रूप से इसे सामान्य रूप से किसी टेम्पलेट वर्ग के बिना घोषित कर सकता हूं। यह सच है। और जब मैं इसे एक टेम्पलेट बना देता हूं, मुझे एक और त्रुटि मिलती है।
property.h: 15: त्रुटि: आईएसओ सी ++ ने 'जेनेरिक' की कोई प्रकार के साथ घोषणा नहीं निषेध
टेम्पलेट & Lt; कक्षा T & gt; क्लास जेनेरिक; कक्षा संपत्ति: सार्वजनिक CFG {जेनेरिक * आगंतुक; // पंक्ति 15 बूल is_valid; QScriptValue परिणाम; जेसन :: मान * अभिव्यक्ति; सार्वजनिक: संपत्ति (संपदा संपत्ति और सहारा); संपत्ति (जेनेरिक * वी, जेसन :: मान * अनुभाग, std :: स्ट्रिंग का नाम, जेएसन :: वैल्यू * डिफैल); ~ संपत्ति (); बूल मान्य (); इंट इवाल (); डबल पी 2 एन (); इंट P2INT (); Std :: स्ट्रिंग P2S (); शून्य सेट वैल्यू (जेएसन :: वैल्यू वैल); संपत्ति ऑपरेटर = (संपत्ति सहारा); };
मुझे यकीन नहीं है कि यह आपकी समस्या है, लेकिन आप कर सकते हैं एक टेम्प्लेट क्लास के साथ subclass QObject
Comments
Post a Comment