警告:内置函数'function xyz'的不兼容隐式声明[默认启用]

Cel*_*tas 0 c gcc

为什么在启用Wall选项的情况下编译源代码时,调用某些函数会产生警告,例如 warning: incompatible implicit declaration of built-in function 'strcpy' [enabled by default]|"

我查看了该功能并添加了它的标题,警告就消失了.当(显然)不需要添加标题时,有什么优缺点?

Ker*_* SB 8

没有"利弊".在使用其中声明的函数之前,必须始终包含标题.你应该认为这是一个彻头彻尾的错误.C允许"隐式声明"的事实是一个历史遗迹,永远不应该在实际代码中使用.