Malloc kompilieren-Fehler: der Wert vom Typ "int" kann nicht verwendet werden, zu initialisieren einer Entität vom Typ int (*)[30]

Muss ich versucht haben, 20 Möglichkeiten, dies zu tun. Ich brauche wirklich Hilfe, egal was ich mache ich bekomme eine Fehlermeldung ähnlich wie diese.

a value of type "int" cannot be used to initialize an entity of type "int (*)[30]"

d.h. diese wird mir, so ein Fehler

int(*array)[160] = malloc((sizeof *array) * 10);

etwas zu tun wie dieser

int** Make2DintArray(int arraySizeX, int arraySizeY) {
    int** theArray;
    theArray = (int**) malloc(arraySizeX*sizeof(int*));
    int i;
    for (i = 0; i < arraySizeX; i++)
    {
        theArray[i] = (int*) malloc(arraySizeY*sizeof(int));
    }
    return theArray;
}

wird mich dieser

"void *(size_t)" in "memory.c" at line 239 and: "int()" 

hat jemand eine Lösung für wie man eine erfolgreiche Zuweisung eines int 2dArray[160][10]

Die gleiche Frage wie dieser stackoverflow.com/questions/1970698/...
Ja, aber ich hatte ein anderes problem, welches @WhozCraig fing für mich.
mögliche Duplikate von ich werfe das Ergebnis von malloc?
Bitte hören Sie Ihrem compiler, sagte er Sie was Ihr Fehler war. Für Ihre eigentliche Frage auf, wie definieren 2D-arrays: tun Sie nicht-Emulationen des 2d-arrays von Zeigern auf Zeiger. Eine große matrix in der modernen C e.g werden einfach zugeteilt double (*array)[n] = malloc(sizeof(double[n][m]));

InformationsquelleAutor WIllJBD | 2012-12-03

Schreibe einen Kommentar