首页 新闻 会员 周边 捐助

为什么我的C++程序中引用的头文件是math.h,但是却调用cmath

0
悬赏园豆:15 [已关闭问题] 关闭于 2017-12-08 08:32

我用abs()函数时报错,

但是我引入的头文件是math.h,这应该是个c头文件,c语言没有重载才对,这里为啥调用的是cmath中的abs()函数???

c++
问题补充:

为什么没有人回答啊

城东的主页 城东 | 初学一级 | 园豆:160
提问于:2017-07-19 09:53
< >
分享
所有回答(2)
0

看看你源代码

fcyh | 园豆:568 (小虾三级) | 2017-07-19 11:21

这个

支持(0) 反对(0) 城东 | 园豆:160 (初学一级) | 2017-07-19 11:34

@城东: 啥意思?还是没有懂?

支持(0) 反对(0) fcyh | 园豆:568 (小虾三级) | 2017-07-19 11:35

@城东: C++的话头文件就是cmath

支持(0) 反对(0) fcyh | 园豆:568 (小虾三级) | 2017-07-19 11:50

@鸿燕藏锋: 我的程序#include<math.h>

这样应该是用math.h里面的abs()函数吧!但是从报错信息来看是用的cmath中的abs()

支持(0) 反对(0) 城东 | 园豆:160 (初学一级) | 2017-07-19 12:15

@城东: 不管是C++的cmath还是C的math.h。它们功能相同呀。

支持(0) 反对(0) fcyh | 园豆:568 (小虾三级) | 2017-07-19 12:21

@鸿燕藏锋: C++的cmath有abs()函数重载啊,C的math.h应该没有重载。从所报的错误来看是调用函数时有二义性导致的。其实我想知道的时候为什么我引用的是math.h,但是最后却是调用的cmath中的函数。

支持(0) 反对(0) 城东 | 园豆:160 (初学一级) | 2017-07-19 12:31

@城东: 发完整源代码。我看看

支持(0) 反对(0) fcyh | 园豆:568 (小虾三级) | 2017-07-19 12:39

@城东: 能够复制粘贴的。我看看我这边运行情况

支持(0) 反对(0) fcyh | 园豆:568 (小虾三级) | 2017-07-19 12:39

@鸿燕藏锋: 项目太大,源码不方便发

支持(0) 反对(0) 城东 | 园豆:160 (初学一级) | 2017-07-19 12:47
0

其实在C++中用math.h也是可以的,C++是兼容C的。

沉沦的黑客 | 园豆:170 (初学一级) | 2017-08-21 16:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册