Jak zadeklarować funkcję szablonu poza deklaracją klasy
<code>#include <iterator> #include <map> #include <vector> template <class T1, class T2> class A { public: typedef typename std::vector<std::pair<T1,T2> >::iterator iterator; std::pair<iterator, bool > foo() { iterator aIter; return std::pair<std::vector<std::pair<T1,T2> >::iterator, bool >(aIter ,false); } }; </code>
Powyższy kod działa dla mnie dobrze. Ale chcę przenieść definicję funkcji poza deklarację klasy. Próbowałem tego.
<code>template <class T1, class T2> class A { public: typedef typename std::vector<std::pair<T1,T2> >::iterator iterator; std::pair<iterator, bool > foo(); }; template <class T1, class T2> std::pair<std::vector<std::pair<T1,T2> >::iterator, bool > A<T1, T2>::foo() { iterator aIter; return std::pair<std::vector<std::pair<T1,T2> >::iterator, bool >(aIter ,false); } </code>
Ale to nie jest kompilacja. Każdy pomysł, jak to zrobić?