任意のタイプのベクトルへのイテレータを引数として受け取るテンプレートをコーディングしようとしています。以下をコンパイルしようとすると、no matching function call
エラーが発生します。
#include <vector>
struct A { int x; };
template <class T>
void process (typename std::vector<T>::iterator begin,
typename std::vector<T>::iterator end)
{ for(; begin != end; begin++) { /*do_something*/ } }
int main()
{
std::vector <A> obj;
process(obj.begin(), obj.end());
}