2D-Array an eine Funktion übergeben
-
Hallo Leute
Habe ein Array: (im main())
int myArray[3][3] = {{1,2,3}, {4,5,6}, {7,8,9} };und möchte dieses einer Funktion 'search()' übergeben.
Kann mir vieleicht jemand sagen wie ich das anstellen kann?
Habe folgendes probiert:
Funktionskopf:
int search(int i, int *p_array);Funktion:
int search(int i, int *p_array) { //... }Funktionsaufruf im main():
search(1, myArray);Der Compiler meldet aber dann immer
Konvertierung des Parameters 3 von 'int (*)[3][3]' in 'int *[]' nicht moeglichWas mach ich alles falsch? Bitte helft einem blutigen Anfänger.

-
Naja er sagt dir dochs chon fast die lösung du kannst doch nicht ein 2d array an ein 1d array übergeben. versuchs mal so
void search(int array[][]) sollte eigentlich gehen.
-
wie denn genau?
bei..
Funktionskopf:
int search(int i, int *p_array[][]);Funktion:
int search(int i, int *p_array[][]) { //... }Funktionsaufruf im main():
search(1, myArray[][]);Ich bekomme immer einen Fehler.

-
-
search(1, myArray);
-
Und die Deklaration so:
int search(int i, int p_array[][]);Nicht
int search(int i, int *p_array[][]);
-
An: xyz44 und Antwort
So geht es auch nicht.
An: vielleicht
Habe es angeschaut. Waren nützliche Informationen aber komme noch nicht weiter.
-
Und so:
// Funktionskopf int search(int i, int (*p_array)[3]); ... // Funktion int search(int i, int (*p_array)[3]) { ... } //Main int myArray[3][3] = {{1,2,3}, {4,5,6}, {7,8,9} }; search(1, myArray);Vieleicht kann das sonst noch jemand bestätigen!