发布网友 发布时间:2022-04-22 18:03
共2个回答
热心网友 时间:2023-06-24 04:29
我没太清楚你的意思, 你的意思是
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、别的意思?没太懂,请补充
热心网友 时间:2023-06-24 04:29
不是很明白你的问题。层层包含出什么问题了?
通常头文件定义都会加上一些预编译指令,让头文件在被多个文件引用的时候不会多次编译。比如classA.h里面可以写:
#ifndef _CLASSA_H_
#define _CLASSA_H_
// Source code here
#endif //_CLASSA_H_
或者直接使用#pragma once 指令