c++ - How do I declare template function outside the class declaration -
<पूर्व>
#include & lt; iterator & gt; # शामिल करें & lt; नक्शा & gt; #include & lt; vector & gt; टेम्पलेट & lt; वर्ग T1, वर्ग T2 & gt; वर्ग ए {सार्वजनिक: टाइप कियाइफ़ टाइप नाम std :: vector & lt; std :: pair & lt; T1, T2 & gt; & Gt; :: इटरेटर इटरेटर; Std :: जोड़ी & lt; iterator, bool & gt; फू () {इटरेटर एआईटर; वापसी std :: जोड़ी & lt; std :: vector & lt; std :: जोड़ी & lt; T1, T2 & gt; & Gt; :: इटरेटर, बूल & gt; (एआईटर, झूठी); }};
उपरोक्त कोड मेरे लिए ठीक काम करता है लेकिन मैं कक्षा घोषणा के बाहर फ़ंक्शन की परिभाषा को स्थानांतरित करना चाहता हूं। मैंने इसे करने की कोशिश की।
टेम्पलेट & class; class T1, class T2 & gt; वर्ग ए {सार्वजनिक: टाइप कियाइफ़ टाइप नाम std :: vector & lt; std :: pair & lt; T1, T2 & gt; & Gt; :: इटरेटर इटरेटर; Std :: जोड़ी & lt; iterator, bool & gt; foo (); }; टेम्पलेट & lt; वर्ग T1, वर्ग T2 & gt; std :: जोड़ी को & lt; std :: वेक्टर & LT; std :: जोड़ी को & lt; T1, T2 & gt; & Gt; :: इटरेटर, बूल & gt; ए एंड एलटी; टी 1, टी 2 & gt; :: एफू () {इटरेटर एआईटर; वापसी std :: जोड़ी & lt; std :: vector & lt; std :: जोड़ी & lt; T1, T2 & gt; & Gt; :: इटरेटर, बूल & gt; (एआईटर, झूठी); }
लेकिन यह संकलन नहीं कर रहा है। किसी भी आइडिया को यह कैसे करना है?
आप रिटर्न वैल्यू में टाइपनाम भी याद कर रहे हैं। समारोह होना चाहिए:
टेम्पलेट & lt; वर्ग T1, वर्ग T2 & gt; Std :: जोड़ी & lt; typename std :: vector & lt; std :: जोड़ी & lt; T1, T2 & gt; & Gt; :: इटरेटर, बूल & gt; ए एंड एलटी; टी 1, टी 2 & gt; :: एफू () {इटरेटर एआईटर; वापसी std :: जोड़ी & lt; std :: vector & lt; std :: जोड़ी & lt; T1, T2 & gt; & Gt; :: इटरेटर, बूल & gt; (एआईटर, झूठी); }
Comments
Post a Comment