Ambiguous function call when data type casting from int to double and float : cast « Data Types « C++ Tutorial






#include <iostream>
using namespace std;

float myfunc(float i);
double myfunc(double i);

int main()
{
  cout << myfunc(10.1) << " "; // unambiguous, calls myfunc(double)
  //cout << myfunc(10); // ambiguous

  return 0;
}

float myfunc(float i)
{
  return i;
}

double myfunc(double i)
{
  return -i;
}
-10.1 "








2.30.cast
2.30.1.A cast to float
2.30.2.Ambiguous function call when data type casting from int to char and unsigned char
2.30.3.Ambiguous function call when data type casting from int to double and float
2.30.4.reinterpret_cast operator: cast from void * to unsigned *
2.30.5.reinterpret_cast operator: use reinterpret_cast to cast a char * pointer to unsigned
2.30.6.reinterpret_cast operator: cast unsigned back to char *
2.30.7.Using Explicit Casts