Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.160 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: UInt64 Zuweisung an Integer, keine Warnung, Waum?

  Alt 14. Feb 2022, 09:26
Nein, keines der drei scheint standardmäßig aktiv.

Vielen Dank, das macht mein Leben fortan deutlich einfacher

Delphi-Quellcode:
program Project1;

{$WARN IMPLICIT_INTEGER_CAST_LOSS ON}
{$WARN IMPLICIT_CONVERSION_LOSS ON}
{$WARN COMBINING_SIGNED_UNSIGNED64 ON}

uses System.SysUtils;

var
   someByte: Byte;
   someShort: ShortInt;
   someInt: Integer;
   someUInt64: UInt64;
begin
   // W1071 Implicit integer cast with potential data loss from 'Byte' to 'ShortInt'
   someByte := ShortInt.MaxValue + 1;
   someShort := someByte;

   // W1072 Implicit conversion may lose significant digits from 'UInt64' to 'Integer'
   someUInt64 := UInt64.MaxValue;
   someInt := someUInt64;

   // W1073 Combining signed type and unsigned 64-bit type - treated as an unsigned type
   someUInt64 := someInt + someUInt64;
end.
  Mit Zitat antworten Zitat