![]() |
Unterschiedliche Rückgabetypen bei überladener Funktion
Hallo zusammen,
ich habe eine überladene Funktion die nur unterschiedliche Rückgabetypen haben soll:
Delphi-Quellcode:
Allerdings kommt nur die Meldung "Deklaration von MyTest" unterscheidet sich von vorheriger Deklaration"
function MyTest(Test : String) : Integer;overload;
function MyTest(Test : String) : string;overload; Kann mir jemand sagen wie ich das hinbekomme? MfG :angel: |
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 |
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:
und einen Aufruf:
function MyTest(Test : String) : Integer;overload;
function MyTest(Test : String) : string;overload; function Compute (Value: Integer); overload; function Compute (Value: string); overload;
Delphi-Quellcode:
Welche Methode soll der Compiler einsetzen?
Compute (MyTest('Hallo'));
Gruß Hawkeye Edit: etwas zu spät, aber gleiche Aussage :) |
Re: Unterschiedliche Rückgabetypen bei überladener Funktion
|
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 10:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz