在编程时,忘记包含头文件并因此调用未定义的函数是很常见的。根据具有默认选项的 gcc 或 clang,调用未在调用者的命名空间中定义的函数不是编译时错误。而是发出警告,“函数 __ 的隐式声明在 C99 中无效”。为什么将其归类为错误?你们都见过很酷的隐式函数黑客吗?
最佳答案
隐式函数声明是 C 的旧版本中有效的功能。编译器没有理由拒绝此类有效代码,但它足以发出警告,因为它是自 C99 以来不支持的功能。
在这种情况下抛出错误是不正确的,因为编译器必须考虑许多遗留代码。这并不意味着隐式函数声明有任何很酷的技巧。
关于c - 如果有的话,隐式函数声明在 c/c++ 中的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21569393/