标题:[求助]重载函数的问题
只看楼主
ybbct
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-8-3
 问题点数:0 回复次数:5 
[求助]重载函数的问题

原题是使用重载函数的方法定义两个函数,用来分别求出两个int型数的点间距离和浮点型数的点间距离。
#include<iostream.h>
#include<math.h>
int distan(int,int);
float distan(float,float);
void main()
{
int distance1;
float distance2;
distance1=distan(1,2);
distance2=distan(1.35,2.78);//出错处
cout<<distance1<<distance2;
}
int distan(int x,int y)
{
int c=abs(x-y);
return c;
}
float distan(float x,float y)
{
float c=abs(x-y);//错误处
return c;
}
d:\vc++ 6.0\myprojects\p1299\p7.cpp(10) : error C2668: 'distan' : ambiguous call to overloaded function
d:\vc++ 6.0\myprojects\p1299\p7.cpp(20) : warning C4244: 'argument' : conversion from 'float' to 'int', possible loss of data
d:\vc++ 6.0\myprojects\p1299\p7.cpp(20) : warning C4244: 'initializing' : conversion from 'int' to 'float', possible loss of data
.请高手帮帮忙指点一下 小弟感激不尽

搜索更多相关主题的帖子: int float 函数 distan 重载 
2006-08-07 10:36
liuseal
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-11-27
得分:0 
abs的返回值是什么类型
2006-08-07 11:01
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 
看看abs的原型:int abs( int n );
double fabs( double x );
long labs( long n );

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-07 12:22
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 
float distan(float,float);  // float全换成double.

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-07 12:29
ecbtnrt
Rank: 1
等 级:新手上路
威 望:1
帖 子:189
专家分:0
注 册:2006-4-16
得分:0 
int型的吧

我为你痴,为你狂!
2006-08-07 12:44
yuxianghui
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-8-6
得分:0 

float换成double就好了

2006-08-07 22:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-82545-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.146445 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved