Probleme, eine Header-Datei in VC ++ kompiliert
-
06-07-2019 - |
Frage
ich nur den Code für ein Projekt neu organisiert und jetzt Fehler Ich erhalte ich nicht auflösen kann. Dieser Header wird durch eine CPP-Datei enthalten versuchen, zu kompilieren.
#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);
};
Ich erhalte diesen Compiler-Fehler für die Deklaration von Entity :: getBitMask ():
Fehler C2143: Syntaxfehler: fehlen; vor '<'
Fehler C2433: 'Entity :: bitset': 'virtuelle' nicht auf Datendeklarationen zulässig
Fehler C4430: fehlende Typspezifizierer - int angenommen. Hinweis: C ++ nicht default-int unterstützt
Fehler C2238: unerwartetes Token (s) vor ''
Es gibt mehr ähnlichen Fehler für die nächste Zeile als auch. Es scheint, wie bitset ist nicht inbegriffen bekommen, aber es ist klar? Ich kann nicht herausfinden, was falsch läuft. WinMain.h umfasst windows.h und numDefs.h enthält nichts.
Mit MS Visual C ++ 2008.
Lösung
Deklarieren Sie die bitset als std::bitset<MAX_SPRITE_PIXELS>
.
Andere Tipps
Die bitset
Vorlage im std::
Namensraum definiert ist, so müssen Sie entweder es zu verweisen, indem es std::bitset
oder fügen sie using namespace std;
irgendwo vor der Klassendeklaration vollen Namen.
Ich glaube, Sie brauchen std :: bitset zu sagen.
Sieht aus wie ein Fehler in "numDefs.h"