【发布时间】:2015-06-17 03:22:36
【问题描述】:
我使用了abs() 函数,并在代码顶部添加了#include <math.h>。但我不断收到此错误:
hello.c:20:11: warning: implicit declaration of function 'abs' is invalid in C99
[-Wimplicit-function-declaration]
int a = abs(arrOfHour[i] - hour) * 60 + minute;
^
我正在使用 LLVM 编译器。
为什么我添加了math.h,还是会出现这个错误?
【问题讨论】:
-
你能把代码贴出来,尤其是你叫
abs的部分吗? -
@holgac ,这不是必需的。 OP 调用
abs的部分在警告消息中。 -
@CoolGuy 是的,我忘记了未声明的函数是隐式声明的,抱歉。无论如何,对于将来,您可以使用 manpages、linux.die.net/man/3/abs 检查函数的声明位置
-
顺便说一句:可疑代码的
int a = abs(arrOfHour[i] - hour) * 60 + minute;及其先前对minute的计算将无法正常工作。也许想要a = abs(arrOfHour[i]*60 + arrOfMin[i] - (hour*60 + min))之类的东西
标签: c math.h absolute-value