【发布时间】:2013-03-28 12:09:42
【问题描述】:
我有一个头文件假设 abc.h,其中我的函数声明为:
static int function1();
我已经在abc.c中包含了这个头文件,并定义了函数并使用了它。
static int function1()
{
< function definition>
}
编译后我收到警告:
warning: function1 declared static but never defined
如何在不删除静电的情况下删除警告。 谢谢。
【问题讨论】:
-
将前向声明从标头移动到源文件?
-
如果一个函数是
static,你不应该把它放在头文件中(除非inline)... -
@H2CO3 或私有标头
-
从函数定义中删除 static 关键字 - 它在那里是多余的。虽然这应该已经奏效了——我想问题出在其他地方。
-
还要注意 C 中的
()。在 声明 中,这意味着函数可以接收任何类型的参数。特别是这不被认为是函数的原型。对于定义,它意味着一个根本不接收参数的函数。在 C 语言中,您应该始终使用(void)。
标签: c gcc-warning