Autor |
Beitrag |
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 13.05.17 20:30
- Nachträglich durch die Entwickler-Ecke gelöscht -
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 13.05.17 23:18
- Nachträglich durch die Entwickler-Ecke gelöscht -
|
|
mandras
Beiträge: 430
Erhaltene Danke: 107
Win 10
Delphi 6 Prof, Delphi 10.4 Prof
|
Verfasst: 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
Beiträge: 19286
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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.
|
|
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 13.05.17 23:43
- Nachträglich durch die Entwickler-Ecke gelöscht -
|
|
jaenicke
Beiträge: 19286
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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.
|
|
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 14.05.17 00:23
- Nachträglich durch die Entwickler-Ecke gelöscht -
|
|