W8068 Constante hors limites dans la comparaison (C++)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Erreurs et avertissements du compilateur (C++) - Index

(Option de la ligne de commande pour supprimer l'avertissement : -w-rng)

Votre fichier source inclut une comparaison comportant une sous-expression constante qui est en dehors de la plage autorisée par le type de l'autre sous-expression.

Par exemple, il est inutile de comparer une valeur non signée avec -1.

Pour obtenir une constante non signée supérieure à 32 767 (décimal), vous devez :

  • convertir la constante en non signé -- par exemple, (non signé) 65535, ou
  • ajouter la lettre "u" ou "U" à la constante -- par exemple, 65535u.

Même si ce message s'affiche, le compilateur génère le code permettant d'effectuer la comparaison.

Même si ce code renvoie toujours le même résultat (par exemple, en comparant une expression char avec 4000), le code effectue le test.