内在函数,不能定义(C)

时间:2010-08-24 14:19:13

标签: c visual-studio intrinsics

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

  

内在功能,无法定义

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

4 个答案:

答案 0 :(得分:3)

  

内在功能,无法定义

在这种情况下,intrinsic表示编译器已经具有名为abs的函数的实现,并且您无法重新定义。

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

有关详细信息,请查看abs函数上的MSDN文档。

答案 1 :(得分:2)

问题不在标题中。

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

答案 2 :(得分:0)

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

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

保留用于实施。

答案 3 :(得分:0)

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