यह एक संकलित समय की बात है। टेम्पलेट पैरामीटर प्रकार संकलन समय पर संकलक के लिए जाना जाना चाहिए।
कुछ टेम्पलेट मेटा-प्रोग्रामिंग तकनीकों का उपयोग करके कहा जा रहा है कि आप एक प्रकार या अन्य एटी संकलन-समय चुन सकते हैं, लेकिन केवल तभी जब सभी संभव प्रकार संकलित समय पर ज्ञात हैं, और केवल तभी प्रकार संकलन समय पर हल किया जा सकता है।
उदाहरण के लिए
, आंशिक विशेषज्ञता का उपयोग कर आप एक पूर्णांक के आधार पर, संकलन समय पर प्रकार का चयन कर सकते हैं:
template <typename T>
class Foo
{ };
template <int N>
struct select_type;
template<>
struct select_type<1>
{
typedef int type;
};
template<>
struct select_type<2>
{
typedef float type;
};
int main()
{
Foo<select_type<1>::type> f1; // will give you Foo<int>
Foo<select_type<2>::type> f2; // will give you Foo<float>
}
स्रोत
2009-11-14 22:26:30
कुछ भी संभव है। लेकिन आप जो करने की कोशिश कर रहे हैं वह सी ++ में आसान नहीं है। यदि आप समझते हैं कि आप ऐसा करने का प्रयास क्यों कर रहे हैं तो हम आपको बेहतर सलाह दे सकते हैं। –