Conversão inválida de "void *" para "char não assinado"

Eu tenho o seguinte código;

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

Estou recebendo o seguinte erro para essa linha ao tentar compilar;

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

Por que eu recebo esse erro, achei que um vazio era "sem tipo", então ele pode apontar para qualquer coisa, ou qualquer coisa pode apontar para ele?

questionAnswers(6)

yourAnswerToTheQuestion