2012-03-02 12 views
5

मेरे पास एब्स्ट्रेटरमेनर्स नामक एक वर्ग है जिसे मैं सिंगलटन टेम्पलेट क्लास सिंगलटन से उत्तराधिकारी बनाना चाहता हूं लेकिन सारणी प्रबंधक को टेम्पलेट क्लास होने की आवश्यकता है, मैं कुछ अजीब त्रुटि कोडों में आया हूं जो कोई उपयोग नहीं करते हैं, मैंने इसे देखने की कोशिश की लेकिन नहीं भाग्य।"अनन्य वर्गीकृत वर्ग टेम्पलेट का उपयोग टेम्पलेट तर्क के रूप में नहीं किया जा सकता" मतलब क्या है?

template <class Type> 
class AbstractRManagers : public Singleton<AbstractRManagers> 
{ 

त्रुटि C3203: 'AbstractRManagers': unspecialized वर्ग टेम्पलेट टेम्पलेट पैरामीटर 'टाइप' के लिए एक टेम्पलेट तर्क के रूप में नहीं इस्तेमाल किया जा सकता, की उम्मीद कोई वास्तविक प्रकार

+0

"अमूर्त ... प्रबंधक ... सिंगलटन ..." मेरी आंखें! आप शायद 'कक्षा सारणी प्रबंधक चाहते हैं: सार्वजनिक सिंगलटन <सारआरआरएनेजर्स > '। –

+0

उसके साथ इतना बुरा क्या है? "अमूर्त ... प्रबंधकों ... सिंगलटन ..." मेरी आंखें! –

+0

यह सी ++ लाउंज में हमारे आवर्ती मजाक की तरह लगता है। –

उत्तर

10

AbstractRManagers एक टेम्पलेट नाम, जो कि एक प्रकार नहीं है - इसमें एक टेम्पलेट पैरामीटर एक प्रकार बनने के लिए है।

template <class Type> 
class AbstractRManagers : public Singleton<AbstractRManagers<Type> > 

... जो संदेह से CRTP-तरह देखने के लिए शुरू होता है: कम से कम अगर मैं समझता हूँ कि आप क्या चाहते हैं, तो आप शायद कुछ इस तरह की जरूरत है।

फिर अनिवार्य नोट: संभावनाएं बहुत अच्छी हैं कि आपको वास्तव में एक सिंगलटन (या लगभग कहीं भी) की आवश्यकता नहीं है या नहीं चाहिए।

4

यह होना चाहिए public Singleton<AbstractRManagers<Type> >AbstractRManagers एक टेम्पलेट है जिसे आपको ठोस प्रकार प्रदान करने के लिए आवश्यक है।

संबंधित मुद्दे

 संबंधित मुद्दे