statische Klassenelemente in C++
-
Hallo,
Ich brauche ein Array konstanter Länge. Die Elemente sind ebenfalls konstant.
Bei mir sieht das so aus:
1: class C {
2:
3: public:
4: const static int i[]={4,3,6};
5: static int m(void);
6: };
7:
8: int C::m(void) {
9: return C::i[0];
10: }
11:Ohne den Zugriff auf das Array i[] in Zeile 9 geht's.
gcc sagt:
ld: Undefined symbols:
C::iWas mache ich falsch?
-
Hi,
du musst 'i' in der implementations-Datei nochmal bekannt machen
mfg
v R
-
Danke für die schnelle Antwort, aber:
"nochmal bekannt machen"? wie?
Auch wenn Klassendeklaration und Implementierung im gleichen File stehen, klappt's nicht.
-
rondo schrieb:
"nochmal bekannt machen"? wie?
const int C::i;
-
danke, so geht's!
-
das ist aber keine Bekanntmachung (auch Deklaration genannt) sondern die Definition. Die Definition.