Fehler: "no suitable conversion function from "Feld" to "Feld (*)[8]" exists
-
Ich habe angefangen, ein Programm zu schreiben, wobei einer Funktion eine Instanz einer Struktur übergeben wird, welche fuer das Spielfeld ist.
Die Funktion ist:void Verschieben(Feld Spielfeld[x][y])der übergebe ich dann eine Instanz der Struktur Feld, der Aufruf sieht demnach so aus:
Verschieben(Spielfeld[x][y]);,
dann kommt der Fehler.LG
Die TuerPS: Die Instanz der Struktur gehört einer Klasse an
-
Mehr Code posten hilft das Problem besser nachvollziehen zu können. Allerdings sieht es so aus, als versuchst du Arrays als Parameter zu verwenden. Dies geht nicht. Verwende stattdessen Zeiger.
void Verschieben(Feld* Spielfeld)
-
Dein Funktions-Prototyp müsste so aussehen:
void Verschieben(Feld Spielfeld);Dann kannst du auch sowas machen:
Verschieben(Spielfeld[x][y]);Vorausgesetzt
Spielfeldist auch wirklich so deklariert:Feld Spielfeld[10][10];Und
xundymüssen auch einen gültigen Wert habe. Hier jeweils von 0 bis 9.
-
Natürlich geht das. Nur muss dann beim Aufruf natürlich auch das Array durchgereicht werden, nicht eins seiner Elemente:
Verschieben(Spielfeld); // ohne [x][y]Daher auch die Fehlermeldung, dass Feld nicht nach Feld (*)[8] (Zeiger auf Feld-Arrays der Länge
umgewandelt werden kann.
-
Vielen Dank, es klappt wieder.
