Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout
Important Il est possible que le présent document ne corresponde pas aux pratiques recommandées pour le développement actuel. Par ailleurs, il se peut que des liens de téléchargement et d'autres ressources ne soient plus valides. La version recommandée actuelle est disponible ici.

C6316

C6316

Avertissement C6316 : Opérateur incorrect : l'expression testée est constante et non nulle. Utiliser l'opérateur de bits AND pour déterminer si les bits sont définis

Cet avertissement indique l'utilisation de l'opérateur de bits OR (|) alors que l'opérateur de bits AND (&) aurait dû être utilisé. L'opérateur de bits OR ajoute des bits à l'expression obtenue, alors que l'opérateur de bits AND sélectionne uniquement les bits en commun entre ses deux opérateurs. Les tests pour les indicateurs doivent être exécutés avec l'opérateur de bits AND ou à l'aide d'un test d'égalité.

Exemple

Le code suivant génère cet avertissement :

#define INPUT_VALUE 2
void f( int Flags)
{
  if (Flags | INPUT_VALUE) // warning
  {
    // code
  }
}

Pour corriger cet avertissement, utilisez le code suivant :

#define ALLOWED 1
#define INPUT_VALUE 2

void f( int Flags)
{
  if ((Flags & INPUT_VALUE) == ALLOWED)
  {
    // code
  }
}

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft