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

#include<stdafx.h>//Precompiledheaders.其中像Hit.h,keyword.h等#include<copyright.h>这几个头文件... #include <stdafx.h> // Precompiled headers.其中像Hit.h,keyword.h等
#include <copyright.h> 这几个头文件打开后又包含
#include <kernel/sav/library/hits/Hits.h> 其他的头文件,也就是层层
#include <kernel/algorithms/keyword.h> 包含,有很多层。敬请哪路#include <kernel/structures/decisiontable.h>高手给指点迷津,十万分火
#include <kernel/utilities/mathkit.h> 急!!!
我的意思是头文件A包含头文件B,头文件B有包含头文件C,头文件C包含头文件D,到此为止,有没有办法可以解决。
展开
 我来答
346248129
推荐于2016-08-24 · TA获得超过917个赞
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:143万
展开全部
我没太清楚你的意思, 你的意思是
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、别的意思?没太懂,请补充
Anbrul
2010-08-10 · TA获得超过370个赞
知道小有建树答主
回答量:159
采纳率:100%
帮助的人:149万
展开全部
不是很明白你的问题。层层包含出什么问题了?
通常头文件定义都会加上一些预编译指令,让头文件在被多个文件引用的时候不会多次编译。比如classA.h里面可以写:
#ifndef _CLASSA_H_
#define _CLASSA_H_
// Source code here
#endif //_CLASSA_H_

或者直接使用#pragma once 指令
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式