निर्धारित करता है कि मैं सदस्य जेनेरिक फ़ंक्शन का रिटर्न प्रकार निर्धारित करने के बारे में कैसे जा सकता हूं?सी ++ टेम्पलेट फ़ंक्शन रिटर्न प्रकार
template<class E>
struct result<E> {
// E has member function data(), I need to know its return type
typedef typename &E::data type;
};
क्या यह सामान्य तरीके से करना संभव है? मुझे पता है कि boost:: result_of
है लेकिन मेरे उद्देश्यों के लिए इसमें विशेषज्ञताएं नहीं हैं (यदि मैं सही ढंग से समझ गया, तो वापसी का प्रकार विशेष होना चाहिए)। बढ़ावा कार्यान्वयन बहुत अच्छा होगा।
शायद, आपको उस जादू की बिल्कुल आवश्यकता नहीं है। 'E :: value_type *' या 'E :: सूचक 'का उपयोग करने का प्रयास करें। यदि इसमें 'डेटा()' है, तो यह एक कंटेनर होने की संभावना है और सार्वजनिक टाइपिफ़ी प्रदान करता है। –
@ जोहान्स धन्यवाद। वास्तव में ublas और अन्य चीजों के साथ पारदर्शी रूप से काम करने के लिए रैपर लिखने की कोशिश कर रहा था। दुर्भाग्यवश ublas डेटा() इंटरफ़ेस थोड़ा सा मानक (array_type) है इसलिए मैंने इसे अलग से विशेषज्ञता समाप्त कर दिया। – Anycorn