我正在尝试编译一个相当大的项目。几个文件包括math.h.我得到的编译错误是:
"In file included from math.h:71:0,
mathcalls.h:310:1: error: expected declaration specifiers or '...' before '(' token"
我知道我的数学标题没有改变,它们包括我刚写的“你好数学世界”程序,所以我不确定问题是什么。 mathcalls.h文件中给出错误的特定行是
/* Round X to nearest integral value, rounding halfway cases away from
zero. */
__MATHCALLX (round,, (_Mdouble_ __x), (__const__));
有什么问题在这里?
答案 0 :(得分:3)
您在加入round
之前定义了<math.h>
。像这样:
#define round(x) trunc((x+0.5))
#include <math.h>
使用gcc-4.6.2编译上述代码会输出以下错误:
In file included from /usr/include/math.h:71:0,
from a.c:2:
/usr/include/bits/mathcalls.h:310:1: error: expected declaration specifiers or '...' before '(' token