c++重载函数无法调用
[code=C/C++][/code]
#include<iostream>
using namespace std;
int sum(int ia,int ib){return ia+ib;};
//double sum(double a1,double b1){return a1+b1;};
float sum(float a1,float b1){return a1+b1;};
int main()
{
cout<<sum(3.5,4.6)<<endl;
return 0;
}
我做了一个sum的重载函数,当sum()返回值为float类型时编译报错“ambiguous call to overloaded function”;为double时编译通过,运行正常。难道“3,5和4,6”都不符合float类型?
[解决办法]
单精度浮点型 字面值 应该 加后缀 f,你写成 3.5f,4.6f 编译器就会认为他是单精度浮点型。