structure übergeben
-
hallo.
ich habe mir eine kleine klasse geschrieben:class zahlen { private: struct zahlen { int x,f,g; }; public: initzahlen(void); benutze_zahlen(void); }; zahlen::initzahlen(void) { zahlen zahl[2] = {{ 10, 5, 6}, {2, 5, 0}} } // zahlen::benutze_zahlen(void) { //Hier ist das problem //ich muss nun an einer funktion die structure übergeben //also: //funktion(..., zahl, ...); //wie kann ich das machen??? }
vielen dank
MFG
-
Zunächst musst du der struct nen anderen namen geben als der klasse, da ne struct eigentlich auch nur ne public- klasse ist. Kannst nicht zwei klassen den selben namen geben.
auf die struct kannst du dann über bereichsauflösung zugreifen. Dafür musst du die struct allerdings public deklarieren
class Czahlen { public: struct zahlen { int x,f,g; }; initzahlen(void); benutze_zahlen(void); }; Czahlen::initzahlen(void) { zahlen zahl[2] = {{ 10, 5, 6}, {2, 5, 0}}; } Czahlen::benutze_zahlen(void) { } void f(Czahlen::zahlen struktur) { }
P.S. Ändere mal deinen Namen, das interessiert hier keinen, ob du deine deutsch- lehrerin magst, oder nicht.
-
Das Array zahl[2] ist übrigens sinnlos, da es nach Beendigung der Funktion sofort wieder zerstört wird
(und selbst wenn es 'static' wäre, könntest du nicht von außen darauf zugreifen).