#include <iostream>
using namespace std;
template <class X, class Y>
Y big(X a, Y b)
{
if (a > b)
return (a);
else return (b);
}
int main()
{
cout << big(32.8, 9);
}
यहां मैं सीपीपी में टेम्प्लेट का उपयोग कर रहा हूं, इसलिए जब मैं फ़ंक्शन big
को टाइप double
और int
प्रकार के तर्कों को दरकिनार करता हूं, तो मुझे रिटर्न उत्तर चाहिए double
। यहां टाइप 32
करने के बजाय यह वापस आ जाता है 32.8
।
मुझे अपना वांछित आउटपुट कैसे मिलेगा? big
फ़ंक्शन का उचित वापसी प्रकार कैसे लिखें ?
std::max
लागू किया जाता है। फ़ंक्शन का वापसी प्रकार C ++ में संकलन समय पर जाना जाना चाहिए। इसलिए आपके पास यह रिटर्न प्रकार आपके मापदंडों के रनटाइम मूल्य पर निर्भर नहीं हो सकता है। यही कारण है कि इस तरह के फ़ंक्शन के लिए, आपको एक ही प्रकार (यानी, टाइप एक्स, लेकिन वाई नहीं) के लिए दोनों मापदंडों की आवश्यकता है।