Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.055 Beiträge
Delphi 12 Athens
|
Warum warnt hier der Compiler?
5. Mai 2025, 19:37
Hallo,
für folgende Zeile warnt der Delphi Compiler mittels W1024, dass vorzeichenlose und behaftete
Typen verglichen werden:
FBuf[0] := b or ((FCalcAuthenticationTagLength-2) shl 2) or (L-1);
FBuf ist dabei ein Array fester Länge von UInt8 Feldern.
b ist ein UInt8
FCalcAuthenticationTagLength ist ein UInt32
L ist ein UInt16
Wenn das "or (L-1)" testhalber entfernt wird, ist die Warnung weg.
Dass FCalcAuthenticationTagLength nicht größer als 16 werden darf/kann,
kann der Compiler nicht wissen.
Grüße
TurboMagic
|