WinFuture-Forum.de: [turbo Pascal] Funktionsaufruf Vor -deklaration - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[turbo Pascal] Funktionsaufruf Vor -deklaration Wie kann man das trotzdem machen?


#1 _PelzigesWaldtier_

  • Gruppe: Gäste

geschrieben 18. Oktober 2005 - 16:28

Moin, moin.

Ich bin gerade auf ein Problem gestoßen. Und zwar rufe ich eine Funktion über einen Umweg rekursiv auf. Ich weiß nicht, ob man das jetzt immer noch "rekursiv" nennt aber ist auch nicht entscheidend.

Funktion A ruft Funktion B auf Funktion B ruft danach Funktion A mit anderen Parametern auf. Durch eine Abbruchbedingung in Funktion B hat das Ganze auch irgendwann ein Ende.

Nur kann Funktion A aber Funktion B nicht aufrufen, da sie erst später im Code vorkommt. Beim Vertauschen den Funktionen tritt logischerweise das gleiche Problem auf.

Was kann ich jetzt tun? Ich dachte mir, dass man dem Compiler vielleicht irgendwie sagen könnte, dass er den Quelltext mehr als nur einmal durchlaufen soll. Ist diese Idee total abwegig oder doch? ;D

Hoffentlich weiß da jemand von euch was.

Grüße,
PelzigesWaldtier
0

Anzeige



#2 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 18. Oktober 2005 - 17:01

Sichtwort: Vorwärtsdeklaration!


function A(params...) : int; // hier weiß der Compiler, daß die Funktion A in dieser Form existiert
function B(params...) : int; // nur der Elegenz wegen




function A(params...) : int {
int blah=B(params); // da B seit weiter oben bereits bekannt ist, dann man es aufrufen
return 1;
}

function B(params...) : int {
int blah=A(params);
return 2;
}
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#3 _PelzigesWaldtier_

  • Gruppe: Gäste

geschrieben 18. Oktober 2005 - 17:45

Ich danke ;D

So muss es in Turbo Pascal aussehen:

function (parameter: typ): ergebnistyp; forward;


-PW
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0