struct Bar {
enum { Special = 4 };
};
template<class T, int K> struct Foo {};
template<class T> struct Foo<T,T::Special> {};
उपयोग:क्या सदस्य एनम का उपयोग करके टेम्पलेट का विशेषज्ञ बनाना संभव है?
Foo<Bar> aa;
जीसीसी 4.1.2 यह फू का आंशिक specilization के लिए T::Special
के उपयोग के बारे में शिकायत का उपयोग कर संकलित करने के लिए विफल रहता है। यदि Special
एक वर्ग था तो समाधान इसके सामने एक टाइपनाम के लिए होगा। क्या एनम्स (या पूर्णांक) के लिए इसके बराबर कुछ है?
एक दिलचस्प सवाल है। –
यदि आप एक ठोस पूर्णांक (99, कहें) के साथ टी :: स्पेशल को प्रतिस्थापित करते हैं, तो यह अभी भी g ++ 4.4.0 के तहत संकलित नहीं होता है: 'टेम्पलेट तर्कों की गलत संख्या (1, 2 होना चाहिए)। मुझे एहसास है कि यह एक है अलग मुद्दा, लेकिन संकलक इसे स्वीकार नहीं करना चाहिए? – TonyK