这是问题的设置:

  • 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指令具有优先权,因为它们是相互依赖的。

    08-25 08:37