statische variablen "finden"
-
hallo
ich habe gerade das Problem dass die statischen klassenvariablen nicht gefunden werden - anschein fuktioniert die sache anders als ich denke, aber ich kann nicht drauf verzichten, da es noch lange vor der "geburt" der Klasse bekannt sein soll ob diese Klasse überhaupt zum einsatz kommt.
Hier ein Beispiel
class A { public: static void setS( int _s ) { s = _s; }; private: static int s; }; int main( ) { A::setS(100); return 0; }und es heißt dann:
g++ defTast.cc
/tmp/ccI8yOds.o: In functionA::setS(int)': defTast.cc:(.text._ZN1A4setSEi[A::setS(int)]+0x7): undefined reference toA::s'
collect2: ld returned 1 exit statusWas ist das Problem dabei?
Danke
-
class A { public: static void setS( int _s ) { s = _s; }; private: static int s; }; int A::s; int main( ) { A::setS(100); return 0; }
-
Einfach mal in die FAQ schauen, dort gibts eine Übersicht, die auch den Wortlaut deiner Fehlermeldung "undefined reference" enthält. Der Link bringt dich dann hierhin:
http://www.c-plusplus.net/forum/246875