के माध्यम से लपेटें ओवरलोडेड फ़ंक्शन मेरे पास एक अधिभारित फ़ंक्शन है जिसे मैं std :: फ़ंक्शन में लपेटकर पास करना चाहता हूं। जीसीसी 4.6 को "मिलान करने वाला फ़ंक्शन" नहीं मिला है। जबकि मुझे कुछ प्रश्न यहां मिले, तो जवाब उतने स्पष्ट नहीं हैं जितना मैं उन्हें चाहूंगा। क्या कोई मुझे बता सकता है कि निम्नलिखित कोड सही अधिभार को कैसे घटा सकता है और इसके आसपास (सुंदरता) कैसे काम कर सकता है?std :: function
int test(const std::string&) {
return 0;
}
int test(const std::string*) {
return 0;
}
int main() {
std::function<int(const std::string&)> func = test;
return func();
}
पुरानी स्टाइल कास्ट के स्थान पर 'static_cast' का उपयोग करें। – Anonymous
@ अनाम: हाँ। लेकिन मैं इसे छोटा बनाना चाहता था। वैसे भी, मैंने इसे सी ++ - आईएसएच की तरह दिखने के लिए संपादित किया! – Nawaz
कितना विडंबनापूर्ण है - आपको फ़ंक्शन पॉइंटर्स से दूर जाने के लिए पेश किए गए std :: फ़ंक्शन प्राप्त करने के लिए फ़ंक्शन पॉइंटर्स का उपयोग करना होगा :) thx – abergmeier