这里是问题的设置:
- MainFile.c调用文件SubFileA.h和SubFileB.h
- SubFileA.h需要调用类SigleClass.h
- SubFileB.h也需要调用类SingleClass.h
文件内容如下。
MainFile.h 包含以下几行:
#include "SubFileA.h"
#include "SubFileB.h"
...
SubFileA.h 包含以下几行:
#include "SingleClass.h"
...
void InsertPendingRejectedTrx(SingleClass oLogic);
...
SubFileB.h 包含以下几行:
#include "SingleClass.h"
...
void InsertPendingRejectedTrx(SingleClass oAnotherLogic); //line 52
...
SingleClass.h 文件包含以下几行:
#ifndef SC_LOGIC
#define SC_LOGIC
...
[lots of codes]
...
#endif
错误代码如下:
SubFileB.h: At global scope:
SubFileB.h:52: error: âSingleClassâ has not been declared
当我尝试编译时,编译器返回错误。它说从 SubFileB 中,不包括“SingleClass”。我该如何解决这个问题?
注意:代码之前已经可以运行了,但是当我出于某些原因从 SubFileB.h 中包含 SingleClass 时,编译器返回了一个错误。
最佳答案
你需要集中你的头文件,创建一个头文件并将你的头文件包含在你给定的文件中。squid 缓存服务器使用相同的算法,当然,你应该优先使用#include 指令,因为它们依赖在一起。
关于c++ - 多个文件包含到单个类冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10792965/