Einzelnen Beitrag anzeigen

OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#3

Re: Overload mit gleichen Parametern

  Alt 3. Aug 2007, 21:37
Ich stecke zwar nicht ganz so tief in den Delphi-Innereien, aber ich schätze, das Problem ist hier, dass der Compiler nicht auflösen kann, welche Version einer Funktion benötigt wird. In C++ ist eine nicht ganz unübliche Lösung für dieses Problem, Template-Parameter einzusetzen, aber ansonsten könntest du auch einfach einen anderen Namen für die Funktion vorsehen oder die im roten Kasten von FAlter vorgeschlagene Methode der Ausgabeparameter verwenden. So aus (Bibliotheks-)Konsumentensicht würde ich sagen, dass das beides eine sehr viel intuitivere Anwendung der Funktion(en) ermöglicht als überladene Rückgabewerte.

Einer der Gründe für dieses Problem (und auch dafür, dass z.B. C++-String-Klassen meistens keinen impliziten Cast von und nach PChar mitbringen) ist der, dass viele Typen auf verschiedene Weisen ineinander überführbar sind und der Compiler Mehrdeutigkeiten auflösen muss. Und Compiler können dabei furchtbar kreativ werden, was eine unangenehme Fehlerquelle darstellt und daher an einigen Stellen (wie den Rückgabewerten) von vornherein durch das Sprachdesign vermieden wird.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat