问题来源:
加入你有一个C源文件,它包含了多个头文件,比如头文件A和头文件B,而头文件B又包含头文件A
结果:
该源文件包含了头文件A两次,这时,编译时会报大量的重复定义错误。
解决方案:
使用宏定义
在自定义的头文件开头写上:
#ifndef_HEADFILENAME_H
#define_HEADFILENAME_H
后文件结尾写上
#endif
语句“#ifndef_HEADFILENAME_H"
也是宏定义的一种,意为"if not defined headfilename.h",就是说
如果没有定义文件名为 headfilename.h的头文件,就会执行该语句和#endif直接的代码
如果定义了,则不会执行该语句和#endif直接的代码
注:#ifndef_HEADFILENAME_H必须和#endif配合使用