我刚刚重新组织了一个项目的代码,现在我遇到了我无法解决的错误。此标头包含在尝试编译的 .cpp 文件中。
#include "WinMain.h"
#include "numDefs.h"
#include <bitset>
class Entity
{
public:
Entity();
virtual ~Entity();
virtual bitset<MAX_SPRITE_PIXELS> getBitMask();
virtual void getMapSection(float x, float y, int w, int h, bitset<MAX_SPRITE_PIXELS>* section);
};
我在声明 Entity::getBitMask() 时遇到了这些编译器错误:
错误 C2143:语法错误:缺少“;” 在'<'之前
错误 C2433:“Entity::bitset”:数据声明中不允许“虚拟”
错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数
错误 C2238:';' 前面的意外标记
下一行也有更多类似的错误。似乎 bitset 没有被包括在内,但显然是?我不知道出了什么问题。WinMain.h 包含 windows.h,而 numDefs.h 不包含任何内容。
使用 MS Visual C++ 2008。