Problemi nella compilazione di un file di intestazione in VC ++
-
06-07-2019 - |
Domanda
Ho appena riorganizzato il codice per un progetto e ora ricevo errori che non riesco a risolvere. Questa intestazione è inclusa in un file .cpp che tenta di compilare.
#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);
};
Ricevo questi errori del compilatore per la dichiarazione di Entity :: getBitMask ():
errore C2143: errore di sintassi: mancante ';' prima di "< '
errore C2433: "Entity :: bitset": "virtuale" non consentito nelle dichiarazioni di dati
errore C4430: identificatore del tipo mancante - int assunto. Nota: C ++ non supporta default-int
errore C2238: token imprevisto che precede ';'
Ci sono altri errori simili anche per la riga successiva. Sembra che il bitset non venga incluso ma chiaramente lo è? Non riesco a capire cosa non va. WinMain.h include windows.h e numDefs.h non include nulla.
Uso di MS Visual C ++ 2008.
Soluzione
Dichiara il bitset come std::bitset<MAX_SPRITE_PIXELS>
.
Altri suggerimenti
Il modello bitset
è definito nello spazio dei nomi std::
, quindi devi fare riferimento al nome completo std::bitset
o aggiungere using namespace std;
da qualche parte prima della dichiarazione di classe.
Penso che dovresti dire std :: bitset.
Sembra un errore in " numDefs.h "