Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - overload von funktionen mit unterschiedlichen Rückgabewerten
huhn - Sa 11.09.10 16:25
Titel: overload von funktionen mit unterschiedlichen Rückgabewerten
Hi forum,
ich möchte eine Funktion überladen in dem Sinne, dass ich verschiedene Rückgabewerte bekommen.
Mein bisheriger Versuch hat irgendwie nicht so ganz funktioniert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38:
| TKonst =record letter: shortstring; value: extended; vunit: shortstring; description: String; end;
function konst(letter: string): extended; overload; function konst(letter: string): TKonst; overload; . . . function konst(letter: shortstring):extended; overload; var z:integer; begin result:=0; for z:=low(konstanten) to high(konstanten) do if konstanten[z].letter=letter then begin result:=konstanten[z].value; break; end; end;
function konst(letter: shortstring):TKonst; overload; var z:integer; begin result.letter:=''; result.value:=0; result.vunit:=''; result.description:=''; for z:=low(konstanten) to high(konstanten) do if konstanten[z].letter=letter then begin result:=konstanten[z]; break; end; end; |
aber irgendwie meckert der kompiler rum, steh da irgendwie aufm Schlauch und eine Procedure möchte ich nicht draus machen.
mfg huhn
dummzeuch - Sa 11.09.10 16:50
Hi,
huhn hat folgendes geschrieben : |
ich möchte eine Funktion überladen in dem Sinne, dass ich verschiedene Rückgabewerte bekommen.
Mein bisheriger Versuch hat irgendwie nicht so ganz funktioniert:
Delphi-Quelltext 1: 2:
| function konst(letter: string): extended; overload; function konst(letter: string): TKonst; overload; |
|
Leider verloren. Der Compiler entscheidet alleine anhand der Parameter welche Funktion er aufrufen soll. Da die Parameter Deiner Funktionen aber gleich sind, weigert er sich.
Es bleibt Dir nur uebrig, die Funktionen unterschiedlich zu benennen.
twm
huhn - Sa 11.09.10 18:02
jo musst ich auch feststellen und habe mich vom compiler geschlagen gegeben ;)
trotzdem danke für die hilfe
mfg huhn
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!