Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Unterschiedliche Rückgabetypen bei überladener Funktion (https://www.delphipraxis.net/67358-unterschiedliche-rueckgabetypen-bei-ueberladener-funktion.html)

Angel4585 13. Apr 2006 14:24


Unterschiedliche Rückgabetypen bei überladener Funktion
 
Hallo zusammen,

ich habe eine überladene Funktion die nur unterschiedliche Rückgabetypen haben soll:

Delphi-Quellcode:
function MyTest(Test : String) : Integer;overload;
function MyTest(Test : String) : string;overload;
Allerdings kommt nur die Meldung "Deklaration von MyTest" unterscheidet sich von vorheriger Deklaration"

Kann mir jemand sagen wie ich das hinbekomme?

MfG :angel:

xaromz 13. Apr 2006 14:53

Re: Unterschiedliche Rückgabetypen bei überladener Funktion
 
Hallo,

eine Funktion muss unterschiedliche Parameter haben, damit sie überladen werden kann. Rückgabewerte zählen nicht.

Gruß
xaromz

Hawkeye219 13. Apr 2006 14:54

Re: Unterschiedliche Rückgabetypen bei überladener Funktion
 
Hallo Martin,

die überladenen Routinen müssen sich in den Parametern unterscheiden.
Angenommen, Du deklarierst neben Deinen bisherigen Routinen zwei weitere:

Delphi-Quellcode:
function MyTest(Test : String) : Integer;overload;
function MyTest(Test : String) : string;overload;

function Compute (Value: Integer); overload;
function Compute (Value: string); overload;
und einen Aufruf:

Delphi-Quellcode:
Compute (MyTest('Hallo'));
Welche Methode soll der Compiler einsetzen?

Gruß Hawkeye

Edit: etwas zu spät, aber gleiche Aussage :)

Elvis 13. Apr 2006 15:20

Re: Unterschiedliche Rückgabetypen bei überladener Funktion
 
Gab's hier übrigens schon. ;)
Klick
Wenn man dem Spaghetto angewöhnen könnte, wenigstens die Titel mit Umaluten zu tippen, hättest du sogar eine Chance gehabt es mit deinem Titel zu finden. :mrgreen:

Christian Seehase 13. Apr 2006 23:01

Re: Unterschiedliche Rückgabetypen bei überladener Funktion
 
Moin Martin,

auch wenn die Handhabung dann aufwändiger wird:
Nimm statt einer Funktion eine Prozedur, und für den Rückgabewert einen var-Parameter.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz