c - 没有定义的静态函数声明
问题描述
我用几个编译器编译了一个程序,其中一个抱怨在某个编译单元中没有定义的静态函数声明。我想知道标准是否对此有任何规定。从我的角度来看,在这里抱怨是有道理的,因为该函数不能在另一个编译单元中使用,因此根本没有用。
解决方案
静态函数仅在该编译单元内可见。
静态函数声明提供了此类函数的原型(名称、返回类型和参数)。
静态函数定义给出了函数的实现。
已声明但未使用且没有实现的静态函数不应引起警告。它会被使用但没有实现(在那个编译单元中),那么它就是一个错误。
static int NotUsed(int not_used); // perfectly legal without implementation if not used
推荐阅读
- reactjs - 不能在反应中使用子道具
- reactjs - 理解 React 中的组件属性继承
- html - HTML - 如何渲染出现(来自 api)的 unicode 符号,例如' - 等
- opencv - OpenCV 常见问题 pkg-config --cflags --libs opencv
- office-js - 如何根据当前 office 版本动态加载 Word API (office.js) 版本
- java - 附加计时器的 StringBuilder 不起作用(Kotlin)
- gnuplot - 有没有办法用gnuplot可视化自适应网格上的场?
- git - 更改 gitlab 安装的名称
- .htaccess - 在 .htaccess 中使用 ErrorDocument 403 时 URL 发生变化
- java - 弹簧数据。在运行时更改数据库用户凭据