(void*) is special. What is a pointer to a
void type? Let us consider the following definition:
void *pVoid;
We know from the * in the definition that pVoid is a
pointer. We also know that it points to something of type void.
In other words, pVoid points to something that we cannot use.
How is (void*) useful, then?