W8068 Vergleichskonstante außerhalb des Bereichs (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Compiler-Fehler und -Warnungen (C++) - Index

(Die Kommandozeilenoption zur Unterdrückung dieser Warnung lautet -w-rng)

Ihre Quelltextdatei enthält einen Vergleich, der eine Teilbereichskonstante betrifft, die außerhalb des Bereichs der anderen Konstante liegt.

So ergibt z. B. der Vergleich eines unsigned-Typs mit -1 keinen Sinn.

Um eine unsigned-Konstante zu erhalten, die größer als 32.767 (dezimal) ist, haben Sie die folgenden Möglichkeiten:

  • Für unsigned eine Typumwandlung durchführen, z. B. (unsigned) 65.535.
  • Den Buchstaben u oder U an die Konstante anfügen, z. B. 65.535u.

Trotz dieser Meldung generiert der Compiler Code, um den Vergleich durchzuführen.

Auch wenn der Code letztendlich immer dasselbe Resultat liefert (weil z. B. ein Ausdruck vom Typ char mit 4000 verglichen wird), führt der Code den Test doch immer wieder durch.