Array von Klassen übergeben
-
Hallo
Ich hab folgendes (einfaches) Problem:
Ich möchte von proceed (eine Funktion der Klasse level)
auf das ganze Feld von Block bl zugreifen können
aber ich weiss nicht wie ich referenzieren soll.#include <iostream> using namespace std; class block { public: int x; int y; block() { x=0;y=0; } }; class level { public: void proceed(block& tb) { cout << tb[3].x; } }; int main(int argc, char **argv) { block bl[10]; level lvl; bl[3].x=3; bl[7].y=7; lvl.proceed(bl); // proceed soll jetzt x von bl[3] // und y von bl[7] ausgeben // d.h. ich brauch unbedingt vollen zugriff auf alle elemente von bl in proceed return 0; }mingw32 gibt mir nur fehlermeldungen, was mache ich falsch?
Kann mir jemand helfen?
-
hey,
..zu dem code an sich werden bestimmt gleich noch genug Leute was sagen, aber nun gut...
tip: probiere es mal mit
void proceed(block* tb)
-
Ich habe es auf block* bl geändert (auch in main)
Nun stellt sich die Frage wie ich denn nun einen Wert zuweise.
Eigentlich müsste ich doch durch 3maliges inkrementieren des bl array
und anschliessender Zuweisung per bl->x=3 Erfolg haben wenn wir bei dem
Beispiel bleiben. Aber der Compiler wehrt sich.
-
-
Beim ersten Versuch (ohne die Änderung in main) ist der Rechner abgestürzt. Nun
geht alles. Lag wohl daran das ich nicht alles neu erstellt habe.Vielen Dank nochmals!