gpt4 book ai didi

c - 函数声明为静态但从未定义

转载 作者:太空狗 更新时间:2023-10-29 16:20:57 25 4
gpt4 key购买 nike

我有一个头文件假设是 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com