Error

Error

de Martina Montichelli Aplanalp -
Número de respuestas: 5

Buenas, tengo un problema y es que que quiero copiar los valores de un arreglo de tipo unsigned char en otro que fue declarado como const unsigned char. Para esto hice un for que copie los valores, pero cuando lo compilo me sale este error:


Hay alguna forma de copiar los valores de un arreglo de tipo unsigned char a otro de tipo const unsigned char o no es posible?

Gracias

En respuesta a Martina Montichelli Aplanalp

Re: Error

de Camilo Joaquin Mariño Cabrera -
El propósito de usar 'const' antes de la definición del tipo de un arreglo o puntero, en este caso 'const unsigned char', es asegurar que los valores en dicho arreglo no puedan ser modificados dentro de la función. 

En respuesta a Camilo Joaquin Mariño Cabrera

Re: Error

de Martina Montichelli Aplanalp -
El problema es que cuando utilizo la funcion matrizPorVector para obtener el vector de síndrome z, me lo devuelve como un arreglo de unsigned char, y al utilizar la funcion corregirError le quiero pasar como parámetro este z obtenido pero esta ultima funcion pide que el parámetro z sea un arreglo de tipo const unsigned char. Por lo tanto, lo que quise hacer anteiormente fue convertir el z para que sea del tipo adecuado, pero claramente no se pudo. Qué puedo hacer para solucionarlo?
En respuesta a Martina Montichelli Aplanalp

Re: Error

de Leopoldo Agorio -

Como dicen arriba, no existe el casteo a const.

El const en una funcion no es "un tipo distinto", simplemente le dice al compilador que verifique dentro de la función no se modifique lo apuntado por el puntero.

En otras palabras, el si algo en la declaración de una función es const unsigned char*, se le puede pasar un unsigned char o const unsigned char*.


En respuesta a Martina Montichelli Aplanalp

Re: Error

de Estefano Lautaro Bargas Nuñez -
Nop no es posible porque el de tipo const es de solo lectura, no se le puede asignar luego de que es inicializado. De hecho que intentes asignar a un arreglo de constantes significa que estas atacando el problema por un lado que no es, entonces tendrias que pensarlo de otra manera