arrays
-
hallo,
ich schreibe grade ein kleines Tetris Programm.
Für die einzelnen Formen hab ich vordefinierte arrays, die so zum beispiel aussehen.int shapeL[3][3] = {{0,1,0}, {0,1,0}, {0,1,1}};In meiner Klasse Brick, die so ein Spielstein darstellen soll, wollte ich einen zeiger haben, der je nachdem welcher Spielstein-Typ gerade dran ist, auf eins der vordefinerten arrays zeigt.
Ist sowas in c++ möglich und wenn, wie würde sowas implementiert werden?ich hab schone divere sachen mit den * und den & Operatoren versucht, hatte aber immer Fehlermeldungen.
mfg Nicoteen
-
Probiers mal so:
int* p = &shapeL[0][0];
-
er kompiliert ohne fehlermeldung, aber wie komme ich über p an das array?
p[1][1] oder *p[1][1]führt beides zur fehlermeldung "Index erfordert ein Array oder einen Zeigertyp"
-
int** p=shapeL;
-
Bei
int** p= shapeL;kommt die Fehlermeldung "'Initialisierung': 'int [3][3]' kann nicht in 'int **' konvertiert werden".
Der Zugriff danach über p[1][1] geht allerdings.
-
Wenn du das hier willst:
p[x][y];Dann musst du so drauf zugreifen:
p[y*3 + x];Weil auch ein 2-Dimensionales Array eigentlich nur 1-Dimensional ist.
-
Jop es funktioniert.
Danke