Programación General > ADA
"expect Procedure Name In Procedure Call"
(1/1)
Seraphs:
He de realizar una práctica de programación en ADA, y en uno de los (sub)procedimientos que debo implementar me sale el error "expect procedure name in procedure call" al compilar. Por mucho que le de vueltas no consigo encontrar dónde esta el fallo, por esto agradecería que alguien me echase una mano. "Almacenar" y "Comprobar" son dos "separates".
El código es: (el error lo indica en la función "Comprobar")
Begin
Open (F,In_File,"origen.txt");
Open (G,In_File,"palabras_reservadas.txt");
Create (H,Out_File,"destino.txt");
while not(End_Of_File(F)) loop
Almacenar(F,Palabra1);
Almacenar(G,Palabra2);
-- función que compara las dos palabras obtenidas con el procedimiento almacenar
Comprobar(Palabra1,Palabra2);
if Car=' ' or Car='(' then
Put(H,Car);
Get(F,Car);
else
Put(H,Car);
New_Line(G);
Get(F,Car);
while Car=' ' and not(End_Of_File(F)) loop
Get(F,Car);
end loop;
end if;
end loop;
Close(F);
Close(G);
Close(H);
end Buscar_Palabra;
FUNCTION Comprobar (A,B: in Palabra) return Boolean is
I : Integer := 1;
Begin
while A(I)=B(I) and B(I)/=' ' loop
I:=I+1;
end loop;
return A(I)=B(I);
end Comprobar;
Muchas gracias de antemano a todos aquellos que me puedan ayudar.
gandalfelgris:
Hola amigo, para solucionar ese error simplemente debes asignarle a una variable booleana el resultado de la llamada a la funcion (haciendo lo siguente)
Comprobacion:boolean;
Comprobacion:=Comprobar (parametros);
si sigues este consejo con las dos funciones se te solucionará el error. Este error te ha dado porque esa manera de llamar solo se utiliza para los procedimientos, en los que en lugar de tener un return, cuentas con pàrametros de tipo out.
Navegación
Ir a la versión completa