अगर मुझे निम्नलिखित करने की अनुमति है:
template <typename T = int>
class Foo{
};
मुझे मुख्य में निम्नलिखित करने की अनुमति क्यों नहीं है?
Foo me;
लेकिन मुझे निम्नलिखित बताना होगा:
Foo<int> me;
C ++ 11 ने डिफ़ॉल्ट टेम्पलेट तर्क प्रस्तुत किए और अभी वे मेरी पूरी समझ के लिए मायावी हैं।
Fooहो सकता है एक टेम्पलेट पहचानकर्ता है या हो सकता है एक स्पष्ट इन्स्टेन्शियशन कि क्या वहाँ एक डिफ़ॉल्ट तर्क है पर निर्भर करता है। बेहतर स्पष्ट तात्कालिकता वाक्यविन्यास रखें।fooएक डिफ़ॉल्ट पैरामीटर के साथ एक फ़ंक्शन की तरह सोचें । आप इसे पसंद नहीं कर सकतेfoo, आप इसे कहते हैंfoo()। यह लगातार इसे बनाए रखने के लिए समझ में आता है।