¿Cuándo usar const void *?

Tengo esta función de prueba muy simple que estoy usando para descubrir qué está pasando con el calificador const.

int test(const int* dummy)
{
   *dummy = 1;
   return 0;
}

Este me arroja un error con GCC 4.8.3. Sin embargo, este compila:

int test(const int* dummy)
{
   *(char*)dummy = 1;
   return 0;
}

Entonces parece que el calificador const solo funciona si uso el argumento sin convertirlo a otro tipo.

Recientemente he visto códigos que usaban

test(const void* vpointer, ...)

Al menos para mí, cuando uso void *, tiendo a lanzarlo acarbonizarse* para aritmética de puntero en pilas o para trazado. Como puedeconst nulo * evitar que las funciones de subrutina modifiquen los datos en los quevpointer está apuntando?

Respuestas a la pregunta(3)

Su respuesta a la pregunta