Einzelnen Beitrag anzeigen

TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.055 Beiträge
 
Delphi 12 Athens
 
#1

Warum warnt hier der Compiler?

  Alt 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
  Mit Zitat antworten Zitat