include循环包含如何解决?

来源:百度知道 编辑:UC知道 时间:2024/06/01 12:26:23
比如我有文件a.h,b.h和c.h。其中a.h文件包含b.h文件,b.h文件又包含c.h,c.h又包含a.h。如果这样放到一个项目中时,编译会出错,如何解决这个问题?
你说的是指解决重复编译的问题,可我的每个文件中都加上了#pragma once,在进行构建的时候只包含一次阿!和你说的效果应该是一样的。

问题不是重复定义,而是一个循环定义,编译器不能顺利编译通过

比如你写的头文件为 a.h

那么在 a.h 开头加入以下语句
#ifndef _A_H
#define _A_H
....//a.h的原来内容
#endif
//也就是用 _A_H 这个宏标记,如果其他文件已经包含了该头文件,那么下
//面的内容将不会被加入预编译中

还不懂找我:QQ 35707492