首页 > 解决方案 > 没有定义的静态函数声明

问题描述

我用几个编译器编译了一个程序,其中一个抱怨在某个编译单元中没有定义的静态函数声明。我想知道标准是否对此有任何规定。从我的角度来看,在这里抱怨是有道理的,因为该函数不能在另一个编译单元中使用,因此根本没有用。

标签: clanguage-lawyer

解决方案


静态函数仅在该编译单元内可见。

静态函数声明提供了此类函数的原型(名称、返回类型和参数)。

静态函数定义给出了函数的实现。

已声明但未使用且没有实现的静态函数不应引起警告。它会被使用但没有实现(在那个编译单元中),那么它就是一个错误

static int NotUsed(int not_used);  // perfectly legal without implementation if not used

推荐阅读