怎么解决头文件重复包含的问题

2024-12-03 10:47:19
推荐回答(2个)
回答1:

我没太清楚你的意思, 你的意思是
1、 如果头文件A包含头文件C,同时头文件B也包含头文件C,而你写的程序中包含了头文件A,头文件B,然后在编译的时候报头文件C重复包含的错误吗?
这个错误 只要在自己写的头文件中这样写
#ifndef X //X为你的标识符,保持唯一,可以长点,比如 #ifndef _INCLUDE_XXXXXX_H_
#define X

//这里是你的头文件

#endif

2、还是说你写的代码里, 头文件A需要包含头文件B,头文件B需要包含头文件C,而头文件C又要包含头文件A?
这种情况直接包含就没问题了

3、别的意思?没太懂,请补充

回答2:

不是很明白你的问题。层层包含出什么问题了?
通常头文件定义都会加上一些预编译指令,让头文件在被多个文件引用的时候不会多次编译。比如classA.h里面可以写:
#ifndef _CLASSA_H_
#define _CLASSA_H_
// Source code here
#endif //_CLASSA_H_

或者直接使用#pragma once 指令