¿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?