函数重载使用int和float类型作为c ++中的参数

时间:2017-03-06 12:33:25

标签: c++ floating-point int double overloading

void sum(int x);
void sum(float x);

我不明白为什么这些函数重载语句会为sum(2.3)创建以下错误:

  

重载sum(double)的调用是不明确的

但是对于以下两个函数重载,它运行良好。

void sum(int x);
void sum(double x);

1 个答案:

答案 0 :(得分:1)

2.3是double,编译器无法选择转换为int还是float(两者都会失去精度)。