-
Estoy haciendo una práctica y no consigo compilar por culpa de los errores. El último es del tipo
practica_uno-copia_imagen.adb:48:09: actual for "File" must be a variable
Se trata de un subprograma separate (copia_imagen.adb) del programa principal (practica_uno.adb), os muestro como lo tengo declarado:
PROCEDURE copia_imagen(Ent: in file_type; Sal: out file_type) IS SEPARATE;
Llamada al subprograma:```
copia_imagen(F,S);Dentro del subprograma:
separate (practica_uno)
procedure copia_imagen (Ent: in file_type; Sal: out file_type) is
BEGIN
Open(Ent,In_File,"recullfotos_temp.txt");...
Close(Ent);
END copia_imagen;¿Se os ocurre a que se debe el error y como puedo solucionarlo? Gracias de antemano.
-
Bueno ya veo que aquí nadie programa…
Os pongo la solución al error que me han dado en otro foro, por si a alguien le pasa.
Este error quiere decir que está pasando una constante o un parámetro in (que ambos son vistas constantes de un objeto) donde se necesita una variable porque se hace una asignación. En este caso es porque el parámetro de tipo file_type en Open es de modo in out y por tanto Ent debe ser de modo in out.