Also Overload ist schön und gut, aber wer zweideutige Funktionen überlädt ist eigentlich selber schuld. Es wird wohl deswegen Byte genommen, weil es auf Byte passt. Beweis:
Delphi-Quellcode:
var
a: Byte;
begin
a := 255;
a := a + 100;
ShowMessage(IntToStr(a));
end;
Hier gibt es keine Fehlermeldung obwohl Byte Maxwert überschritten wurde. Hier wird 65535 einfach als Byte mit Überlauf gesehen. Wahrscheinlich auch in deinem Beispiel.