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.

War es hilfreich?

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"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top