Hallo zusammen!
Was ich schon immer wissen wollte: Wie macht ihr das mit Delphi's Compiler-Meldung "Rückgabewert von Funktion XY kann undefiniert sein", wenn ihr aber ganz genau wisst, dass das nicht eintreten
kann?
Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| function TForm1.ElementsToInt(aElement: TElements): Integer; begin case aElement of elPlayer: Result := iPlayer; elBorder: Result := iBorder; end; |
Es
muss definitiv ein Result aus case sein, undefiniert
kann hier
niemals eintreten, da aElement IMMER kompatibel zu TElements sein wird, denn, wenn man voraussestzt, dass das
case alle Möglichkeiten abdeckt, es zwangsläufig zu einem dieser Results kommen muss.
Eine Möglichkeit wäre es, ein "Default" zu definieren, also zB.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| function TForm1.ElementsToInt(aElement: TElements): Integer; begin Result := iBorder; case aElement of elPlayer: Result := iPlayer; elBorder: Result := iBorder; end; |
Ich mag das aber nicht so recht. Dennoch meine Frage: Wie macht man das, was ist sozusagen üblich?
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!