vs2012运行C++重载函数时出现错误

下面代码能在vc6.0下编译过,但在vs2012下编译时出现四个错误。#include<iostream>usingnamespacestd;intabs(intx){i... 下面代码能在vc6.0下编译过,但在vs2012下编译时出现四个错误。
#include<iostream>
using
namespace std;
int abs(int x)
{ if(x<0) return(-x);else return(x);
}
float abs(float x)
{ return(x<0?-x:x); }
double abs(double
x)
{ return(x<0?-x:x); }
void main(void)
{ int a;
float
b;
double c;
cout<<"按序输入一个整数,一个单精度数和一个双精度数:\n";

cin>>a>>b>>c;
cout<<"它们的绝对值分别是:\n";

cout<<"abs("<<a<<")="<<abs(a)<<'\n';

cout<<"abs("<<b<<")="<<abs(b)<<'\n';

cout<<"abs("<<c<<")="<<abs(c)<<'\n';
}
错误 1 error
C2084: 函数“float abs(float)”已有主体
错误 2 error C2084: 函数“double
abs(double)”已有主体
错误 3 error C2264: “abs”: 函数定义或声明中有错误;未调用函数
错误 4 error
C2264: “abs”: 函数定义或声明中有错误;未调用函数
展开
 我来答
ComputerScout
2013-07-18
知道答主
回答量:7
采纳率:0%
帮助的人:13万
展开全部
换个名字就可以了,不要叫abs。可能是因为VS2012的<iostream>里包了其它库,里面有abs函数了,你再定义就重了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式