Es un comportamiento indefinido desechar la coherencia de un parámetro de función?
Imagine que tengo esta función C (y el prototipo correspondiente en un archivo de encabezado)
void clearstring(const char *data) {
char *dst = (char *)data;
*dst = 0;
}
Hay un comportamiento indefinido en el código anterior,casting theconst
lejo, ¿o es simplemente una práctica de programación terriblemente mala?
Supongamos que no se utilizan objetos const const
char name[] = "pmg";
clearstring(name);