मैं निम्नलिखित कार्य हो:वापसी प्रकार वास्तव में लंबे समय से अभिव्यक्ति
inline auto iterateSomething(obj & o)
{
auto iterators = baseIterator(o);
auto tranformer = boost::bind(transofrmToSomething, _1, o);
typedef boost::transform_iterator<decltype(tranformer), decltype(iterators.first)> iterator_t;
iterator_t begin(iterators.first, tranformer);
iterator_t end(iterators.second, tranformer);
return std::make_pair(begin, end);
}
आप देख सकते हैं मैं वापसी मान पता नहीं है और यहां तक कि अगर मैं पूर्णांक वहाँ और बाद में डाल त्रुटि संदेश से प्रकार की नकल, यह वास्तव में एक लंबा प्रकार है ...
क्या रिटर्न प्रकार को फ़ंक्शन में केवल वापसी के प्रकार के रूप में निर्दिष्ट करने का कोई तरीका है? क्या कोई कामकाज रिटर्न प्रकार में एक विशाल प्रकार शामिल नहीं है?
typedefs अपने मित्रों को कर रहे हैं, आप भी वापसी प्रकार की गणना करने के लिए एक metafunction निर्धारित कर सकते हैं। – enobayram
आप फ़ंक्शन के बाहर टाइपपीफ को स्थानांतरित कर सकते हैं। फिर आप रिटर्न प्रकार घोषित करने के लिए इसका उपयोग कर सकते हैं। –