Conversión no válida de 'void *' a 'unsigned char *'

Tengo el siguiente código;

<code>void* buffer = operator new(100);
unsigned char* etherhead = buffer;
</code>

Recibo el siguiente error para esa línea al intentar compilar;

<code>error: invalid conversion from ‘void*’ to ‘unsigned char*’
</code>

¿Por qué recibo ese error? Pensé que un vacío era "sin tipo", por lo que puede apuntar a cualquier cosa, o cualquier cosa puede apuntar a eso?

Respuestas a la pregunta(6)

Su respuesta a la pregunta