I am inspecting code that does not require explicitly casting result of malloc call but whenever I attempt to do this, the compiler throws an error.
i.e.
char *somevar;
somevar = malloc(sizeof(char) * n); //error
somevar = (char *)malloc(sizeof(char) * n); // ok
This happens if you use C++ compiler instead of C compiler. As C++ requires explicit casting.
The problem is not just with (un)casting
mallocresult, but any void pointer to other pointer.