无法在VC ++中编译头文件

时间:2009-06-22 19:42:16

标签: c++ visual-c++ bitset

我刚刚重新组织了一个项目的代码,现在我遇到了无法解决的错误。此标头包含在尝试编译的.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:语法错误:缺少';'在'&lt;'

之前

错误C2433:'Entity :: bitset':数据声明中不允许'virtual'

错误C4430:缺少类型说明符 - 假设为int。注意:C ++不支持default-int

错误C2238:';'

之前的意外标记

下一行还有更多类似的错误。似乎bitset没有被包括但显然是?我无法弄清楚出了什么问题。 WinMain.h包含windows.h,numDefs.h不包含任何内容。

使用MS Visual C ++ 2008。

4 个答案:

答案 0 :(得分:8)

将bitset声明为std::bitset<MAX_SPRITE_PIXELS>

答案 1 :(得分:5)

bitset模板在std::命名空间中定义,因此您需要在类声明之前的某个位置引用它的全名std::bitset或添加using namespace std;

答案 2 :(得分:4)

我想你需要说std :: bitset。

答案 3 :(得分:0)

“numDefs.h”

中的错误
相关问题