我剛剛重組了一個項目的代碼,現在我收到了無法解析的錯誤。該頭文件包含在試圖編譯的.cpp文件中。在VC++中編譯頭文件時遇到問題
#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);
};
我得到這些編譯器錯誤的實體:: getBitMask()的聲明:
錯誤C2143:語法錯誤:缺少 ';'前 '<'
錯誤C2433: '實體::位集': '虛擬' 不允許在數據聲明
錯誤C4430:缺少類型說明符 - 假定爲int。注意:C++不支持default-int
錯誤C2238:在';'之前的意外標記(s)
下一行還有更多類似的錯誤。看起來像bitset沒有被包括在內,但它顯然是?我無法弄清楚發生了什麼問題。 WinMain.h包含windows.h,並且numDefs.h不包含任何內容。
使用MS Visual C++ 2008
什麼是MAX_SPRITE_PIXELS,它在哪裏定義? – 2009-06-22 19:45:27
MAX_SPRITE_PIXELS在numDefs.h中定義 – 2009-06-22 20:26:25