私はそのような関数を定義しました:
template<typename T>
void SwapMe(T *first, T *second)
{
T tmp = *first;
*first = *second;
*second = tmp;
}
次に、そのように使用します。
SwapMe(&data[i], &data[j]);
ご覧のとおり、明示的に使用してSwapMe<T>(...);
いませんが、機能します。
なぜC++標準では、引数の型を明示的に指定することを避けられるのですか?