क्या यह कानूनी सी ++ है?क्या टेम्पलेट टेम्पलेट पैरामीटर का पैरामीटर छायांकन कर सकता है?
template <typename T, template <typename T> class>
struct S { };
बजना (3.7.1) यह खारिज कर दिया, दूसरे T
छाया पहले T
शिकायत। जीसीसी को इसके बारे में परवाह नहीं है और मुझे लगता है कि यह उचित है। मुझे लगता है कि यह केवल पैरामीटर टेम्पलेट पैरामीटर में महत्वपूर्ण पैरामीटर की संख्या है।
- http://goo.gl/51bHVG (gcc.godbolt.org)
कारण है कि आप 'T' दो बार उपयोग करने के लिए की जरूरत है? आप 'T' दूसरा टेम्पलेट में उपयोग करना चाहते हैं यदि आप' टेम्पलेट <वर्ग टी, टेम्पलेट वर्ग> 'लिख सकते हैं –
जब पहले पैरामीटर दूसरा पैरामीटर के लिए दिया जा माना जाता है जो एक है @DavidHaim यह अनिवार्य नहीं है, लेकिन टेम्पलेट टेम्पलेट, नेस्टेड टेम्पलेट पैरामीटर के लिए समान (या, कम से कम एक समान) नाम का उपयोग करना समझ में आता है। आपका सुझाव दिलचस्प है, मैंने कभी टेम्पलेट टेम्पलेट पैरामीटर में डिफ़ॉल्ट पैरामीटर निर्दिष्ट करने का प्रयास नहीं किया है। 'टेम्पलेट <कक्षा टी, टेम्पलेट कक्षा> 'की तुलना में यह क्या हासिल करता है? –
nodakai
मुझे आश्चर्य है कि उन लोगों के लिए ड्राइविंग प्रेरणा क्या है जो पोस्ट शीर्षक में टैग शब्दों के खिलाफ खोज और नष्ट करते हैं ?? क्या वे शायद 'नूल' से 'नप्पटर' को बदलने में उतने ही उत्साही हैं? – nodakai