Warum beschwert sich der Compiler, wenn ich das Ergebnis von malloc nicht zaubere?

Ich überprüfe Code, für den kein explizites Ergebnis eines Malloc-Aufrufs erforderlich ist. Wenn ich dies versuche, gibt der Compiler jedoch einen Fehler aus.

d.h.

<code>char *somevar;
somevar = malloc(sizeof(char) * n); //error
somevar = (char *)malloc(sizeof(char) * n); // ok
</code>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage