我实现了一个名为abs()的函数。我收到这个错误:
内在功能,无法定义
我做错了什么? 我正在使用Visual Studio 2005。
答案 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) { ... }
具有未定义的行为,因此编译可以做的一件合理的事情就是发出错误。