在a.cpp中:
int t()
{
//definition goes here
...
}
b.cpp:
#include "a.h"
int main()
{
t();
}
最后a.h:
extern int t();
//int t();
两种形式的a.h都有效,为什么?
答案 0 :(得分:9)
因为默认情况下函数是extern,所以extern关键字是多余的。有些人喜欢明确添加extern,当他们想要暗示其他开发人员在.cpp文件中找不到该函数的定义时,该文件的名称与此.h文件相同,然后他们添加指向声明函数的注释。但是从编译器的角度来看,它不会影响任何东西。