Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: antkk en 25 Marzo 2015, 17:58 pm



Título: Problema al compilar
Publicado por: antkk en 25 Marzo 2015, 17:58 pm
Hola, tengo que hacer una práctica para una asignatura de la universidad. Tengo que ocultar un mensaje en una imagen y luego revelarla. Tengo las funciones escritas, el make hecho. Cuando utilizo el make, al compilar me sale estos errores:

g++ -c src/testcodificar.cpp -o obj/testcodificar.o -Iinclude/
src/testcodificar.cpp: In function ‘int main()’:
src/testcodificar.cpp:43:27: error: invalid conversion from ‘char*’ to ‘byte* {aka unsigned char*}’ [-fpermissive]
  if (!ocultar(img, mensaje)){
                           ^
In file included from src/testcodificar.cpp:5:0:
include/codificar.h:7:6: error:   initializing argument 2 of ‘bool ocultar(Imagen&, byte*)’ [-fpermissive]
 bool ocultar(Imagen& imagen, byte array[]);
      ^
src/testcodificar.cpp:65:35: error: invalid conversion from ‘char*’ to ‘byte* {aka unsigned char*}’ [-fpermissive]
  if (!revelar(img, mensaje, MAXTAM)){
                                   ^
In file included from src/testcodificar.cpp:5:0:
include/codificar.h:9:6: error:   initializing argument 2 of ‘bool revelar(const Imagen&, byte*, int)’ [-fpermissive]
 bool revelar(const Imagen& img, byte array[],int maximo);
      ^
src/testcodificar.cpp:77:27: error: invalid conversion from ‘char*’ to ‘byte* {aka unsigned char*}’ [-fpermissive]
  if (!ocultar(img, mensaje)){
                           ^
In file included from src/testcodificar.cpp:5:0:
include/codificar.h:7:6: error:   initializing argument 2 of ‘bool ocultar(Imagen&, byte*)’ [-fpermissive]
 bool ocultar(Imagen& imagen, byte array[]);
      ^
make: *** [obj/testcodificar.o] Error 1

Entiendo por qué es el error, la conversión de char a un unsigned char es invalida. No entiendo que debo de hacer, necesito byte para codificar el mensaje. Alguien me puede ayudar?? Un saludo.


Título: Re: Problema al compilar
Publicado por: ivancea96 en 25 Marzo 2015, 19:50 pm
Código
  1. if (!ocultar(img, (byte*)mensaje)){

Prueba así, haciendo la conversión tú mismo. (En cada caso, claro)