【发布时间】:2013-11-21 06:58:45
【问题描述】:
我是 C++ 新手,正在尝试包含我制作的两个 .h 文件。包括相互访问,因此取决于我将它们包含在一个失败或另一个中的顺序。因此,我知道唯一可能的问题是当我去编译“$ g++ main.cpp foo1.cpp foo2.cpp”并且它无法读取一个。我使用#IFnDef 是因为我看到它在另一篇文章中解决了这个问题,但它对我没有任何改变。有什么想法吗?
【问题讨论】:
-
你通常只需要一个前向声明并且包含整个文件是浪费编译器的工作。
-
让两个文件相互包含不是一个好主意。要么将这两个文件合并为一个,要么使用前向声明,以便至少一个文件不需要包含另一个文件。如果您需要前向声明方面的帮助,那么您将不得不发布代码。
-
检查头文件的路径或需要的 main.cpp 和头文件都位于同一文件夹中?。在发布您的主文件代码之间。