#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);
}
};
クラス宣言の外にテンプレート関数を宣言します。しかし、私はクラス宣言の外で関数の定義を移動したい。私はこれを試した。は、どのように私は上記のコードは私のために正常に動作
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);
}
コンパイルされていません。任意のアイデアこれを行う方法?
ありがとう、それは働いた:) –