Entwickler-Ecke
Free Pascal - VAR Parameter setzen
Delete - Sa 13.05.17 20:30
Titel: VAR Parameter setzen
- Nachträglich durch die Entwickler-Ecke gelöscht -
Christian S. - Sa 13.05.17 20:47
Wenn Du die Funktion mit denselben Werten aufrufen willst, wie wenn Du die Variablen gar nicht zugewiesen hast, sollte sowas richtig sein.
Delphi-Quelltext
1: 2:
| i := Default(Integer); p := Default(PChar); |
Ansonsten hängt von der Funktion "Beispiel" ab, welche Werte im Aufruf Sinn machen.
Delete - Sa 13.05.17 23:18
- Nachträglich durch die Entwickler-Ecke gelöscht -
mandras - Sa 13.05.17 23:28
ich verstehe das Problem im Augenblick nicht,
vielleicht übersehe ich ja was.
Ich halte fest:
Im konkretisierten Beispiel (Lazarus) erfolgt kein Warnhinweis wenn "i:=0" nicht auskommentiert ist,
wenn die Auskommentierung da ist erfolgt Hinweis daß i nicht verwendet wird?
Da hat Lazarus aber doch recht finde ich.
Mit Auskommentierung ist i beim Aufruf der Prozedur "beispiel" undefiniert. Das stört ja nicht.
Ob "beispiel" nun den Wert von i ändert oder nicht ist unerheblich, da ja nach dem Aufruf von "beispiel"
auf das i nicht zugegriffen wird.
Also ist i nicht verwendet hier. -> da hat Lazarus doch korrekt gemeckert oder?
Wenn Du die Auskommentierung wegläßt gibt es andererseits keine Warnung mehr, denn
i wird ja verwendet nachdem der Wert 0 zugewiesen wurde: Und zwar als Parameter welcher
"Beispiel" mitgegeben wird.
jaenicke - Sa 13.05.17 23:35
Ich finde das in diesem Fall sehr einfach. Wenn die Parameter nicht immer benötigt werden, dann kannst du doch einfach eine overloaded Methode erstellen, in der die Parameter nicht vorhanden sind. Das hat den Vorteil, dass du die Variablen auch gar nicht erst lokal deklarieren musst um die Funktion aufzurufen.
Delete - Sa 13.05.17 23:43
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke - So 14.05.17 00:16
Frühlingsrolle hat folgendes geschrieben : |
Ginge es überhaupt, dass man dem var Parameter etwas mitgibt, ohne eine Variable dafür zu verwenden? |
Nein, das meinte ich ja mit der lokalen Variable, die nur durch eine Überladung nicht zum Aufruf benötigt wird.
Delete - So 14.05.17 00:23
- Nachträglich durch die Entwickler-Ecke gelöscht -
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!