编辑:我发现了我的问题,即使我问了一个蹩脚的问题,我还是找到了循环包含并修复了它。
我收到一个奇怪的错误:error C2504: 'CUpdatable' : base class undefined. 这很奇怪,因为在我的代码中我包含了基类头文件,甚至还有类原型。以下是所有相关的代码:
在 CRoom.h 中
    #ifndef CROOM_H
    #define CROOM_H
    #include "CUpdatable.h"
    class CUpdatable;
    class CRoom : public CUpdatable // <-- error here "CUpdatable is undefined"
    {
            ...
    }
    #endif
在 CRoom.cpp 中
    #include "stdafx.h"
    #include "CRoom.h"
    CRoom:: // ...
    // etc
在 CUpdatable.h 中
    #ifndef CUPDATABLE_H
    #define CUPDATABLE_H
    class CUpdatable
    {
            ...
    }
    #endif
在 CUpdatable.cpp 中
    #include "stdafx.h"
    CUpdatable:: // ...
    // etc
我的第一个猜测是class CUpdatable;在 CRoom.h 中包含类原型,但这没有奏效。
看起来正在发生的事情是头文件在编译时看不到 .cpp 文件,因此 CUpdatable 那时没有定义,并引发此错误。那么你如何解决这个问题?