Hi, ich hab mir eine statische Klasse geschrieben.
hier ein kleiner Ausschnitt (Header Datei)
|
Quellcode
|
1
2
3
4
5
6
7
8
9
|
class ENGINE_API E_CEngine {
protected:
static double md_Frequency;
static double md_NumSecsPassed;
static float mf_GlobalTime;
static bool mb_AppActive;
static E_CString ms_ConfigFile;
...
|
In der CPP Datei steht folgender Code:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
|
//----------------------------------------------------------------------------
bool E_CEngine::mb_initialized; // Wurde Engine gestartet
double E_CEngine::md_Frequency; // Frequenz des Zeitzählers
E_CLog E_CEngine::m_Log; // Logbuch
double E_CEngine::md_NumSecsPassed; // Zeit die seit dem letzten
// Frame vergangen ist
bool E_CEngine::mb_Quit; // Parameter für das Beenden des
// DoMessageLoops
float E_CEngine::mf_GlobalTime; // Zeitzähler
bool E_CEngine::mb_AppActive; // Ist Applikation aktiv
|
Das Problem ist meine selbst geschreibene Klasse E_CString. Wenn ich die auch mit E_CString E_CString:
tring definiere kommt eine Fehlermeldung vom Compiler, das diese bereits definiert sein ?!? In meiner Header Datei ist diese auch als "static" definiert. Wenn ich die Definition weglasse dann kann ich aber nicht
|
Quellcode
|
1
|
E_CEngine::ms_ConfigFile = "hallo";
|
benutzen, dort sagt mir der Compiler das angeblich der Zuweisungsoperator (=) nicht für diese Klasse definiert sei, was aber nicht stimmt ?!?. Die Klasse kommt eigentlich auch mit dem Sytntax klar und macht auch das richtige.
Kann es vielleicht daran liegen, das ich Die String Klasse vor der Engine Klasse definiert habe: so in etwa:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// Vordefinitionen
//-----------------------------
class ENGINE_API E_CLog;
class ENGINE_API E_CString;
// Engine Klasse im Namensraum Engine
//--------------------------------------------------
namespace Engine {
class ENGINE_API E_CEngine {
protected:
static double md_Frequency;
static double md_NumSecsPassed;
static float mf_GlobalTime;
static bool mb_AppActive;
static E_CString ms_ConfigFile;
....
};
}
// Bestandteile der Engine hinzufügen
//--------------------------------------------------
#include "e_log.h" // Logbuch
#include "e_string.h" // String Klasse
|
Das komische ist ja das das mit der Logbuch Klasse einwandfrei funktioniert, nicht aber mit der String Klasse
. Danke für eure Hilfe, wenn ich noch die String Klasse posten soll müsst ihrs sagen