如题所述
第1个回答 2019-07-12
你的先弄明白头文件被包含了之后,编译器会在当前文件把你包含的头文件展开,而当多于两个源文件包含相同的头文件的时候,如果不加staic的话,头文件中的同一个函数就相当于在整个程序中被定义了多次,所以肯定会报错。static会把它定义为本地函数,将其作用域限制在本文件内,所以需要加上static关键字。
如果不加static的话,可以用宏定义的方式实现的,然后在每个文件中使用#ifdef和#ifndef以及#endif~
如果不加static的话,可以用宏定义的方式实现的,然后在每个文件中使用#ifdef和#ifndef以及#endif~