free makes pointer from Integer without a cast
-
Hallo zusammen

Arbeite erst seit kurzem mit C und stoße momentan auf einen Fehler den ich nicht nachvollziehen kann.
Wäre schön wenn mir jemand behilflich ist!unsigned int x = (lengthFile1/N)+1, y = (lengthFile2/N)+1; globM **Mglob = (globM**) malloc(x*sizeof(*Mglob)); unsigned int l; for(l=0; l<x; l++) { Mglob[l] = (globM*) malloc(y*sizeof(globM)); }lenghtFile1,lengthFile2 und N sind vom Typ unsigned int.
Soweit funktioniert auch alles noch. Der Fehler tritt erst an folgender Stelle auf:unsigned int i3; for(i3 = 0; i3 < x; i3++) free(Mglob[i3]); free(Mglob);Die genaue Fehlermeldung lautet:
"warning: passing arg 1 of 'free' makes pointer from integer without a cast"Ich hoffe jemand weiß Rat

Gruß eightball
-
Dir fehlt #include <stdlib.h>. Das wäre auch svhon vorher aufgefallen, wenn Du nicht den Rückgabewert von malloc unnötigerweise casten würdest.