C++中的外部函数

Jos*_*lta 7 c++ extern

当在cpp文件中对函数进行外设时,编译器会以不同方式对待这些函数吗?

extern void foo(char * dataPtr);  
void foo(char *);
extern void foo(char * );  
Run Code Online (Sandbox Code Playgroud)

我很想知道因为我在代码中看到了所有这些并且不确定区别是什么.

小智 9

个案分析:

 extern void foo(char * dataPtr);  
Run Code Online (Sandbox Code Playgroud)

函数默认具有外部链接,因此extern不是必需的 - 这相当于:

 void foo(char * dataPtr);
Run Code Online (Sandbox Code Playgroud)

参数名称在函数声明中并不重要,因此上述内容相当于:

 void foo(char * );  
Run Code Online (Sandbox Code Playgroud)

使用您最开心的人.