【发布时间】:2011-02-21 10:22:37
【问题描述】:
我正在制作一个小型 C++ 框架,其中包含许多 .h 和 .cpp。
我创建了一个通用包含,其中包含我所有的 .h 文件,例如:
framework.h
#include "A.h"
#include "B.h"
#include "C.h"
每个 .h 标头都受包含保护,例如
#ifndef A_HEADER
#define A_HEADER
...
#endif
问题是,我希望能够在所有子 .h 中包含“framework.h”,但它会导致很多编译器错误:
#ifndef A_HEADER
#define A_HEADER
#include "framework.h"
...
#endif
如果我为每个子标题使用真正的头文件,而使用我的框架的 framework.h 则可以正常工作..
我只想在我的所有子 .h 中包含主标题,所以我不需要每次都包含所有依赖项。
谢谢:)
【问题讨论】:
-
您遇到什么错误?如果文件正确,它应该可以工作
-
也许您忘记了 framework.h 中包含的引号?
-
没有循环依赖问题,但是取消定义的东西,就像我忘记包含一个 .h 一样。大多数东西都是在一些头文件中内联定义的。
标签: c++ include header include-guards