Partager via


Avertissement C6319

L’utilisation de l’opérateur virgule dans une expression testée entraîne l’ignorer de l’argument gauche lorsqu’il n’a pas d’effets secondaires

Notes

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

Nom de l’analyse du code : IGNOREDBYCOMMA

Exemple

Le code suivant génère cet avertissement :

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

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

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

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

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

Voir aussi