读书人

c++重载函数无法调用解决方案

发布时间: 2012-05-21 18:04:41 作者: rapoo

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 编译器就会认为他是单精度浮点型。

读书人网 >C++

热点推荐