Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

C6319

avertissement C6319 : L'utilisation de l'opérateur virgule au sein d'une expression testée empêche la prise en compte de l'argument de gauche lorsqu'il n'a aucun effet secondaire

Cet avertissement indique une sous-expression ignorée dans le contexte de test en raison de l'opérateur virgule (,). L'opérateur virgule présente une associativité de gauche à droite. Le résultat de l'opérateur virgule est la dernière expression évaluée. Si l'expression de gauche de l'opérateur virgule n'a aucun effet secondaire, le compilateur peut omettre la génération du code de l'expression.

Le code suivant génère cet avertissement :

void f()
{
  int i;
  int x[10];

  // code 
  for ( i = 0; x[i] != 0, x[i] < 42; i++)  // warning
  {
    // code
  }
}

Pour corriger cet avertissement, utilisez l'opérateur logique AND, comme indiqué dans le code suivant :

void f()
{
  int i;
  int x[10];

  // code 

  for ( i = 0; (x[i] != 0) && (x[i] < 42); i++) 
  {
    // code
  }
} 

Ajouts de la communauté

AJOUTER
Afficher: