何年にもわたって C++ でコーディングした後、今日、簡単な質問をされましたが、実際にその答えを見つけることができなかったので、ここにいます。
なぜこのエラーが発生しているのか疑問に思うだけでなく、テンプレート関数だけを変更して (関数を変更せずに)以下のエラーを解決する方法を知りたいです。main()
template <class T>
T Add(T first, T second)
{
return first + second;
}
int main()
{
auto sample_1 = Add(1, 2); // Works
auto sample_2 = Add(1.f, 2.f); // Works
auto sample_3 = Add(1.f, 2); // Error: no instance matches the argument types: (double, int)
return 0;
}