我有一个头文件假设是 abc.h,其中我的函数声明为:
static int function1();
我已经在abc.c中包含了这个头文件,并且定义了函数并使用了它。
static int function1()
{
< function definition>
}
编译后我收到警告:
warning: function1 declared static but never defined
如何在不删除静态的情况下删除警告。 谢谢。
最佳答案
静态函数可以在头文件中声明,但这会导致包含头文件的每个源文件都有其自己的函数私有(private)副本,这可能不是预期的。
你确定你没有在任何其他 .c 文件中包含 abc.h 文件吗?
因为将函数声明为静态函数,需要在包含它的所有 .c 文件中定义该函数。
关于c - 函数声明为静态但从未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15681442/