बस यह सुनिश्चित करने के लिए कि मैंने जो पढ़ा है और कोशिश की है, मैं फ़ंक्शन टेम्पलेट में डिफ़ॉल्ट तर्क नहीं डाल सकता? मैंने अपने कंपाइलर से और दोनों के साथ प्रतिक्रिया व्यक्त की है ... मैं पूछ रहा हूं क्योंकि मैं एक नया हूं और कुछ तकनीकी प्रतिक्रियाओं को समझना मुश्किल है। क्या इसके आसपास कोई कार्य है? मैं एक डिफ़ॉल्ट संबंधपरक ऑपरेटर का उपयोग करता है एक findmax समारोह बनाने के लिए विकल्प के साथ ओवरलोड करने की कोशिश कर रहा हूँ, लेकिन ... यानी:फ़ंक्शन टेम्पलेट में डिफ़ॉल्ट तर्क C++
template <typename Type, typename Compare = std::less<Type> >
Type FindMax(std:vector<Type> &vec, Compare comp = Compare()) {
return *std::max_element(...
}
मुझे लगता है मैं इस के लिए एक वर्ग बना सकता है लगता है, लेकिन यह बहुत काम की तरह लगता है जब मैं वास्तव में एक समारोह चाहता हूं ... धन्यवाद!
क्या इस समारोह tempate क्या करता है, विशेष रूप से, क्या (cmpFn) ...) डिफ़ॉल्ट तर्क कर रही है:
मैं कुछ के बारे में और साथ ही एक और सवाल जोड़ना चाहिए मैं पहले देखा है कि?
template <typename ElemType>
ElemType FindMax(Vector<ElemType> &v, int (cmpFn)(ElemType, ElemType) = OperatorCmp)
* [सी ++ टेम्पलेट समारोह डिफ़ॉल्ट मान] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/3301362/c-template-function-default-value) *। –