से प्राप्त होता है मैं एक समस्या हल करने की कोशिश कर रहा था, लेकिन एक अलग समाधान मिला। ,सी ++ विशेष टेम्पलेट गैर-विशिष्ट संस्करण
template<class> struct S;
template< > struct S<Foo> : struct<Foo> {};
मैं nonspecialized struct के वारिस के लिए सक्षम होना चाहते हैं struct.the उदाहरण विशेष से काम नहीं करता है क्योंकि विरासत में मिला struct विशेष है ऊपर अग्रणी: लेकिन जिज्ञासा से बाहर है, तो निम्न संभव है जानना चाहते अनंत पुनरावृत्ति के लिए।
एक संभावित समाधान दूसरा टेम्पलेट पैरामीटर जोड़ने के लिए था, बूल विशेष कहता है, जैसे कि डिफ़ॉल्ट गलत है, और विशेष टेम्पलेट में पैरामीटर सत्य है। हालांकि यह चीजों को थोड़ा गन्दा बनाता है क्योंकि तत्काल को अतिरिक्त पैरामीटर निर्दिष्ट करने की आवश्यकता होती है।
क्या उपर्युक्त को लागू करने के लिए कोई अन्य तरीका है?
मूल समस्या मैट्रिक्स के मैट्रिक्स को कार्यान्वित करना था, जहां मैट्रिक्स के पास अतिरिक्त ऑपरेटर हो सकते हैं, इस पर निर्भर करता है कि घटक मैट्रिक्स में उन ऑपरेटरों हैं। मुझे उम्मीद है कि यह समझ में आता है। साथ ही विभिन्न टेम्पलेट पैरामीटर के साथ, एक ही समय में एक ही नाम को बनाए रखने के लिए अलग-अलग विशेष मैट्रिक्स को एक ही बेस क्लास की आवश्यकता होती है। मैंने सोचा था कि है यह करने के लिए एक तरह से enable_if और प्रकार का उपयोग हो सकता है लक्षण
पहला काउंटर-सवाल यह है कि आप किस प्रकार की समस्या को हल करने की कोशिश कर रहे हैं? –