https://www.zhihu.com/question/26872913 知乎讲的很多
1、当文件中有对变量的定义时,多次包含该文件这个变量就会被多次定义,这就会报错。
如下: 当文件中有一个对变量的定义
int value = 10;
当多次包含该文件时,就变成了
int value = 10;
int value = 10;
··· ···
int value = 10;
这样就会出错。
2.头文件中有定义static变量,就会在每个文件中产生静态变量,逻辑就乱了。