c/c++语言开发共享函数声明为static但从未定义过

我有一个头文件假设abc.h,其中我有函数声明为:

static int function1(); 

我已将此头文件包含在abc.c中并定义了该函数并使用了它。

 static int function1() {  } 

编译后我收到警告:

 warning: function1 declared static but never defined 

如何在不删除静电的情况下删除警告。 谢谢。

    可以在头文件中声明静态函数,但这会导致包含头文件的每个源文件都拥有自己的函数私有副本,这可能与预期的不同。

    你确定你没有将abc.h文件包含在任何其他.c文件中吗?

    因为将函数声明为静态,所以需要在包含它的所有 .c文件中定义函数。

    好的做法:在他们定义的源文件中声明静态函数(请同时提供原型),因为这是他们可见的唯一文件。

    这样,该function仅对该文件可见,这种可见性问题可以减少可能的代码冲突! 因此,只需在.c文件中提供原型和静态函数定义。 不要在头文件中包含静态函数; .h文件用于外部消费。

    重复: C中的静态函数

    需要了解更多c/c++开发分享函数声明为static但从未定义过,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享函数声明为static但从未定义过相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/979983.html

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐