extern int i; extern float f(float); float b; float f(float a) { return a+0.01f; } int i; int h(int x) { return x+1; } int main() { b=1.0; i=2; f(b); h(i); return 0; }///:~
来处THINKING IN C++中的一段代码。
extern表示只是声明此变量或函数,并没有定义,告诉编译器这里只是声明,定义可能在其它地方。
尝试在次使用extern int i 编译出 undefined reference to `i',函数前的extern可以不写。
后经网络查询基于extern的特性,在C++中的作用有二:
《1》声明文件外的变量。
《2》在C++文件中调用C方式编译的函数。