2

这是问题的设置:

  1. MainFile.c 调用文件 SubFileA.h 和 SubFileB.h
  2. SubFileA.h 需要调用类 SigleClass.h
  3. 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 时,编译器返回了错误。

4

1 回答 1

0

你需要集中你的头文件,创建一个头文件并将你的头文件包含在你给定的文件中。squid缓存服务器使用相同的算法,当然,你应该优先使用#include指令,因为它们依赖在一起。

于 2012-07-28T20:38:41.200 回答