4

我实现了一个名为 abs() 的函数。我收到此错误:

内在函数,无法定义

我做错了什么?我正在使用 Visual Studio 2005。

4

4 回答 4

4

内在函数,无法定义

在这种情况下,内在意味着编译器已经实现了一个名为 的函数abs,并且您无法重新定义该函数。

解决方案?例如,将函数的名称更改为其他名称snakile_abs

查看有关该abs功能的 MSDN 文档以获取更多信息。

于 2010-08-24T20:43:26.047 回答
2

问题不在于是否在标题中。

问题是无法定义内在函数,即编译器识别和实现自身的函数,通常具有仅在 C 代码中不可用的优化。

于 2010-08-24T14:22:05.887 回答
0

所有数学函数的名称(参见 math.h)

以“f”或“l”为前缀的所有数学函数的名称。

保留用于实施。

于 2010-08-24T20:33:48.753 回答
0

定义static int abs(int x) { ... }应该是合法的,但只是int abs(int x) { ... }具有未定义的行为,因此编译可以做的一件合理的事情是发出错误。

于 2010-08-24T23:54:54.207 回答