Tratamiento de ficheros en ADA, errores al compilar


  • 0

    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.


  • 1

    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.





Has perdido la conexión. Reconectando a Hardlimit.