C++中的static函数和extern关键字

仅针对声明的内部函数被外部调用或者禁止外部调用时的区别。

假设:在A.cpp中声明和定义了一个函数testFoo(),则该函数是内部函数,默认情况下不可以被外部访问,如下图:

  

在外部文件中声明testFoo为extern,如下图可以正常调用外部函数testFoo()

现在将testFoo函数声明为static静态类型,则即使在外部文件中声明为extern,也无法通过编译:

原文地址:https://www.cnblogs.com/yeahgis/p/2425385.html