нет вызова соответствующей функции для функции сортировки с шаблонами (C ++)

я играю с шаблонами, и мне было интересно, почему яполучаю ошибку несоответствия функции используя шаблоны.

/*selection sort*/
template 
void selection_sort(InputIterator first, InputIterator last){
    InputIterator min;
    for(; first != last - 1; ++first){
        min = first;

        for(T i = (first + 1); i != last ; ++i)
        {
            if(*first < *min)
                min = i;
        }
        myswap(*first, *min);
    }
}

int main(){
    int a[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
    vector v(a, a+10);
    selection_sort(v.begin(),v.end());
}

Ответы на вопрос(2)

Ваш ответ на вопрос