Witam napisałem częściowo program, który mieliśmy oddać na zajęcia, ale mój nauczyciel zmiótł go w większości i napisał se od nowa bo się nie podobało. Po usunięciu prawie wszystkich błędów kompilacji został mi taki który moim zdaniem implikuje pozostałe. Nie wiem co gość nie tak napisał w tej funkcji i czy w ogóle jest błąd.
Wrzucam
matrix_w *
makem(int lw, int lk)
{
int i;
matrix_w *nm = malloc(*nm);
if (nm == NULL)
return NULL;
nm->wn = lw;
nm->kn = lk;
if ((nm->q = malloc(lw * sizeof *nm->q)) == NULL) {
free(nm);
return NULL;
}
nm->q[0] = malloc(lw * lk * sizeof *nm->q[0]);
for (i = 1; i < lw; i++)
nm->q[i] = nm->q[i - 1] + lk;
return nm;
}
A oto przedefiniowana struktura martrix_w
typedef struct {
double **q;
int wn;
int kn;
} matrix_w;
I błąd kompilacji w 5 linijce zamieszczonego kodu.
macierze.c: In function 'makem':
macierze.c error: incompatible type for argument 1 of 'malloc'