overload
Aber so geht das garnicht, da du
optionale Parameter dabei nicht betrachten darfst, weil es kann sein, dass sie nicht angegeben werden.
Es müssen sich die Typen der Parameter unterscheiden. (Parameter-Name und Result-Typ und Default-Values sind irrelevant)
Also alle Default-Parameter bei dir weggelassen und schon sind alle Varianten
identisch und lassen sich somit nicht überladen.
Delphi-Quellcode:
function CreateLoremIpsum(aWorte: Integer = 2): String; overload;
function CreateLoremIpsum(aWorte: Integer; aAbsatz: Integer): String; overload;
function CreateLoremIpsum(aWorte: Integer; aAbsatz: Integer; aUsePre: Boolean): String; overload;
function CreateLoremIpsum(aWorte: Integer; aAbsatz: Integer; aUsePre: Boolean; aVariante: TLoremIpsumVariant): String; overload;
Aber gerade an diesem Beispiel ist diese ganze Angelegenheit eh total sinnlos, da alle Fälle durch die letzte/längste Funktion behandelt werden, wenn dort alles mit Default-Values versehen ist.