static-Def. von einer Variablen in einer Klasse
-
Halli hallo zusammen.
Ich steh mal wieder total auf dem Schlauch

Ich habe eine Klasse geschrieben und brauche da halt einen "Instanzzähler". Aber irgendwie funktioniert das nicht.
Meine Klasse:class CElements { public: static int counter; CElements(); CElements(byte nType, CString sTitle, CElements* pPrevElement); virtual ~CElements(); . . . };Dann habe ich den Konstruktor wie folge bearbeitet:
CElements::CElements() { // Eindeutige ID für das Element festlegen CElements::counter++; id = CElements::counter; }Und alles was mein Compiler zu sagen hat, ist:
Elements.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: static int CElements::counter" (?counter@CElements@@2HA)
Ich hoffe, dass ihr mir schnell helfen könnt
Ich seh den Fehler einfach nicht.
Liebe Grüße und danke, vom Schuri
-
Das in die cpp noch schreiben
int CElements::counter = 0;Das in deiner KLasse ist lediglich eine Deklaration.
Da fehlt noch die Definition und die kommt in die cpp-Datei.