Pascalban hogyan lehet eljárásokat/függvényeket egymásból meghívni? Tehát ne kizárólag csak a főprogramból, hanem egyikből is bármikor a másikat - előre, hátra.
Bárhonnan meg lehet hívni egy szubrutint, nem csak a főprogramból:
function Osszead(a, b: integer): integer;
begin
.. Osszead := a + b;
end;
procedure OsszeadEsKiir(a, b: integer);
begin
.. WriteLn(Osszead(a, b));
end;
Tehát ha pl. egy tizenkét eljárással feljebbi eljárást (A) hívok egy lenti másik eljárásból (B), és ebből a fenti (A) eljárásból hívok egy öttel lentebbit (C - mely ugye héttel feljebb van a legalsó B-től), akkor ez mind működni fog?
Nagyon örülnék neki, de eddig úgy olvastam csak "felfelé" lehet hívni, fentről "lefelé" nem.
A
.
.
.
.
.
C
.
.
.
.
.
.
.
B
Begin
B;
End.
Nem árt, ha kipróbálod a dolgokat, mielőtt kérdezel. :)
Ha egy olyan függvényt akarsz meghívni, aminek a törzse a programkódban később szerepel csak, prototípust kell használni: [link]
Hogyan próbálhatnám ki azt, amit nem ismerek?
Ezt a prototípust úgy kell alkalmazni, hogy minden egyes eljárást és függvényt a program "elejére" begépelek "újból", vagyis mielőtt a "közepére" írnám a tényleges eljárást?
Igen, pontosan úgy. Az általad használt függvényeket, procedúrákat is deklarálnod kell a program elején.
Ekkor bármilyen függvényt, procedúrát meghívhatsz bárhonnan.
Ha ezt nem teszed, akkor csak a hívás helye előtti függvényeket, eljárásokat hívhatod meg, mivel a fordító - adott ponton - csak azok belépési címéről tud.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!