extern 函数,是不是extern可以省略?解决办法

extern 函数,是不是extern可以省略?
C/C++ code
extern 函数确实与extern变量不一样


例子1:

a.h

void FunA();  //这里用不用extern修饰,链接都是对的,是不是函数可以省略extern啊???我理解没有错吧。

a.cpp

#include"a.h"


void FunA()
{

}


b.cpp

#include"a.h'



main.cpp

#include"a.h"

int main()
{

return 0;
}


 例子2:

a.h

extern  int g_va;

a.cpp

int g_val;

b.cpp

#include"a.h"


main.cpp

#include"a.h"
int main()
{
return 0;

}




------解决方案--------------------
不管你有没有省略,我是省了
------解决方案--------------------
是由于函数的定义和声明是有区别的,定义函数要有函数体,声明函数没有函数体,所以函数定义和声明时都可以将extern省略掉,反正其他文件也是知道这个函数是在其他地方定义的,所以不加extern也行

http://hi.baidu.com/%D2%C5%CA%A7%B5%C4%BD%C7/blog/item/f5e4052a643d4490033bf6bb.html