एक नीति टेम्पलेट टेम्पलेट पैरामीटर और दो नीति परिभाषाओं के माध्यम से सेट के साथ एक टेम्पलेट वर्ग सी पर विचार करें:खाका टेम्पलेट पैरामीटर
template<class T> struct PolicyOne { };
template<class T, int U, int V> struct PolicyTwo { };
template<class T, template<class> class POLICY> struct C { POLICY<T> policy; };
void f()
{
C<int, PolicyOne> mc1;
C<int, PolicyTwo<1, 2> > mc2; // doesn't work this way
}
PolicyTwo
टेम्पलेट तर्कों की गलत संख्या की वजह से काम नहीं करता। PolicyTwo
POLICY
टेम्पलेट पैरामीटर के रूप में उपयोग करने का कोई तरीका है यदि आप अतिरिक्त टेम्पलेट पैरामीटर के लिए प्रकार निर्दिष्ट करते हैं?
मैं सी ++ 03 का उपयोग कर रहा हूं, इसलिए उपनाम घोषणाएं उपलब्ध नहीं हैं। मुझे this question से अवगत है, लेकिन मुझे वहां मेरी समस्या का समाधान नहीं दिख रहा है।
यह समाधान मेरे लिए काम नहीं करता है क्योंकि यह मुझे एक घोषणा करने के लिए अनुमति नहीं है 'पॉलिसी' के लिए डिफ़ॉल्ट मान जो 'टी' से स्वतंत्र रूप से काम करता है। –
@ गैब्रियल श्राइबर आपकी नीति बस अपने टेम्पलेट प्रकार पैरामीटर को अनदेखा करना चुन सकती है (जबकि इसके प्रकार को अभी भी उजागर कर रही है), और फिर यह 'टी' से स्वतंत्र रूप से काम करती है। –