次のコードをコンパイルできません
namespace sequential_sort
{
template<class T>
void sort(std::list<T>& source)
{
sort(source.begin(), source.end()); //(1)
}
template<class Iter>
void sort(Iter begin, Iter end)
{
if(begin == end)
return;
typedef Iter::value_type value_type;
value_type value = *(begin);
Iter part = std::partition(begin, end, [&value](const value_type&->bool{return t < value;});
sort(begin, part);
Iter divide = part;
divide++;
sort(divide, end);
}
}
行 (1) で、エラー C2688 オーバーロードされた関数へのあいまいな呼び出しがあると書かれています。オーバーロードされた関数のパラメーターの数が異なる理由がわかりませんか?