array an Funktion übergeben.



  • Ich möchte ein int array an eine Funktion übergeben, die soll dann alle Werte in ihm auf einen Startwert setzen.

    void initialisieren(int *arrptr, int startwert)
    {
        for(...)
        {
         *(arrptr++)=0;
        }
    
    }
    
    int main(void)
    {
     int array[3][3][3];
     initialisieren(array,0);
     return 0;
    }
    

    das array lässt sich so nicht an die funktion übergeben!
    was ist da genau faul?



  • Advanced-Rookie schrieb:

    was ist da genau faul?

    Der Typ int[3][3][3] ist nicht in int* konvertierbar. Höchstens in int ()[3][3]; Dein Programm sieht aus, als ob es dir schon helfen würde, wenn du dem int-Parameter arrptr den Typ int[3][3][3] geben würdest (keine Angst, Arrays werden grundsätzlich als Pointer übergeben, nie kopiert).


Anmelden zum Antworten