Daten global zugreifbar machen...
-
Hi,
ich benötige in meinem Programm einige Daten, auf die alle Klassen zugreifen könne, also wollte ich eine extra Klasse "Daten" erstellen, in der Header einige Arrays deklarieren (z. B. double test[2][2]), und in der Daten.cpp die Array iniziallisieren (test[2][2]={{1,1},{2,2}}). Dann könnte ich ja in jeder Klasse eine Instanz der Daten Klasse erzeugen und so per . Operator dierekt auf die Arrays zugreifen (ich weiß, nicht schön...). Jedoch bekomm ich immer folgenden Fehler, wenn ich die Arrays so anlege:
Daten.cpp: 'test': Fehlende Speicherklasse oder TypbezeichnerWas läuft hier denn schief??
Danke im Vorraus!
-
Okay, ich möchte das Problem jetzt doch anders angehen, und deshalb nun folgende frage:
wenn ich ein Array in der Headerdatei deklariere, also z. b..h: double array[10][2];wie kann ich es jetzt in der .cpp initialisieren??? Lokal kann ich ein Array ja direkt deklarieren und initiallisieren:
double array[10][2]={{1,2},{3,4}...};Wie muß ich aber vorgehen, wenn es sich bei dem Array um eine Membervariable handeln, also deklaration und initiallisierung getrennt sein sollen??!
Wär echt super wenn jemand ne Lösung wüßte!!
THX!!
-
// h File class foo { double array[10][2]; } // cpp File double foo::array[10][2]={{1,2},{3,4}...};MFG
Kai
-
Danke, aber dann kommt leider der Fehler:
foo.cpp(21) : error C2350: 'foo::array' ist kein statisches Element
-
schreib doch einfach static davor, dann ist es statisch.

Ernst bei Seite: Wenn es nicht total gegen dein Konzept ist, würde ich das Teil statisch machen, ich musste von Anfang an immer an eine statische Variable denken, wenn ich hier mitgelesen habe.
-
Habs probiert, funktioniert einwandfrei, so mach ich es!
Big THX!!
-
Such mal nach Singelton, das ist das Designpattern was du suchst.
Devil