请教各位,这个程序为什么编译出错?

broom 2005-01-24 11:28:17
#include<iostream>
#include<cmath>
using namespace std;
double hypot(double s1,double s2);
int main()
{
cout<<hypot(3.0,4.0)<<'\n';
return 0;
}
double hypot(double s1,double s2)
{
return sqrt((s1*s1)+(s2*s2));
}
...全文
103 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
3996906 2005-01-24
  • 打赏
  • 举报
回复
不行的话改
#include "iostream.h"
#include "cmath.h"
chiengod 2005-01-24
  • 打赏
  • 举报
回复
#include<iostream.h>
#include<cmath.h>
broom 2005-01-24
  • 打赏
  • 举报
回复
好了,是重名造成的原因,多谢各位
xrdsheng 2005-01-24
  • 打赏
  • 举报
回复
hypot函数重名了,换个名称
JedyWoody 2005-01-24
  • 打赏
  • 举报
回复
去掉using namespace std;看看会有什么结果
whp320 2005-01-24
  • 打赏
  • 举报
回复
源程序再哪里呢?
3996906 2005-01-24
  • 打赏
  • 举报
回复
这样写好了

#include <iostream>
#include <cmath>


//using namespace std;
double hypot(double s1,double s2);
int main(int argc, char* argv[])
{
std::cout<<hypot(3.0,4.0)<<'\n';
return 0;
}
//---------------------------------------------------------------------------
double hypot(double s1,double s2)
{
return std::sqrt((s1*s1)+(s2*s2));
}

标准库里也有hypot(double,double),真是麻烦

要不然你把这个函数改个名字
setdefault 2005-01-24
  • 打赏
  • 举报
回复
将你的函数hypot改个名,他与math.h中的hypot重名了,如果要用那个hypot则使用std::hypot(3.0,4.0);
或者给自己的程序加个namespace,比如namespace myspace{...};把程序封装起来
然后myspace::hypot();
tokens 2005-01-24
  • 打赏
  • 举报
回复
错误信息说的是hypot函数重名了..编译器没法确定你要调用哪个.
你把hypot改个其他名字试试
broom 2005-01-24
  • 打赏
  • 举报
回复
不应该是没加.h原因,因为标准C++可以这么写,并且其他程序这么写是正确的。这是我在BCB6.0下编译后出现的错误提示,请各位帮忙分析一下是什么地方出了问题?
Error E2015 p1682.cpp 7: Ambiguity between 'std::hypot(double,double)' and 'hypot(double,double)' in function main()
*** 1 errors in Compile ***
特招 2005-01-24
  • 打赏
  • 举报
回复
#include "iostream.h"
#include "cmath.h"
using namespace std;
double hypot(double s1,double s2);
int main()
{
cout<<hypot(3.0,4.0)<<'\n';
return 0;
}
double hypot(double s1,double s2)
{
return sqrt((s1*s1)+(s2*s2));
}
/* 没加.h
#include<iostream>
#include<cmath>
*/

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧