Enum im header-Dateien

Ich habe die enum-Deklaration in einer header-Datei namens "sm.h"

enum GameStates
{
  STATE_NULL = 0,
  STATE_INTRO,
  STATE_TITLE,
  STATE_MAIN,
  STATE_EXIT
};

Alle es tut, ist, die Liste der möglichen game-Staaten

Jedoch in die folgende Zeile in "base.cpp":

stateID = STATE_INTRO;

Dem compiler sagt "STATE_INTRO war nicht deklariert, in diesem Umfang". Ich habe keine Ahnung, was ich falsch mache. Ich weiß, dass ich die header-Datei in Ordnung und ich kann gehen, um seine Verzögerung aus .cpp-Datei. Also warum bin ich immer diese Fehlermeldung.

stateID = STATE_INTRO;

Wird verwendet in:

bool baseFunctions::load_rc()
{
 stateID = STATE_INTRO;

 currentState = new Intro();

 return true;
}

definiert eine Klasse Funktion in einer header-Datei.

Gibt es keine globalen Konflikte, weil es die einzige enum in das ganze Programm

Sind Sie in der gleichen namespace?
Ich bin nicht mit einem Namen Platz. Brauche ich einen namespace
Wäre hilfreich, wenn du posten könntest mehr komplette code. Diese Stücke auf Ihre eigene, nicht falsch zu sein scheinen, so etwas muss falsch sein, auf einer anderen Ebene in Ihrem code.
Sorry, sollte dies noch deutlicher. Eine Menge Leute hier sind wirklich gute Programmierer, die können auch mal 6 Zeilen code und herauszufinden,, hey, bist du immer Konflikte im globalen namespace oder einige jazz so. Aber für den rest von uns sterblichen, die wir oft und gerne zu haben kompilierbar, testbaren code, so dass wir Sack und prod bis es klappt. Zumindest möchten Sie vielleicht zu geben, die header inklusive der enumeration Deklaration und die load_rc() Funktion.
Sorry ich will hinzufügen, alle base.cpp, base.h, sm.cpp, cm.h

InformationsquelleAutor drCoding | 2012-02-09

Schreibe einen Kommentar