编辑:我发现了我的问题,即使我问了一个糟糕的问题,我发现了循环包含并修复了它。
我收到一个奇怪的错误: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
我的第一个猜测是在CRoom.h中包含类原型class CUpdatable;
,但这没有用。
看起来正在发生的事情是头文件在编译时没有看到.cpp文件,因此CUpdatable在那时没有定义,并抛出此错误。那你怎么解决这个问题呢?