C6319C6319

avertissement C6319 : utilisation de l’opérateur virgule dans une expression testée provoque l’argument de gauche lorsqu’il n’a aucun effetwarning C6319: use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects

Cet avertissement indique une sous-expression ignorée dans le contexte de test en raison de l’opérateur virgule (,).This warning indicates an ignored sub-expression in test context because of the comma-operator (,). L'opérateur virgule présente une associativité de gauche à droite.The comma operator has left-to-right associativity. Le résultat de l’opérateur virgule est la dernière expression évaluée.The result of the comma-operator is the last expression evaluated. Si l’expression de gauche de l’opérateur virgule a aucun effet, le compilateur peut omettre la génération de code pour l’expression.If the left expression to comma-operator has no side effects, the compiler might omit code generation for the expression.

ExempleExample

Le code suivant génère cet avertissement :The following code generates this warning:

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 AND logique comme indiqué dans le code suivant :To correct this warning, use the logical AND operator as shown in the following code:

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

  // code   

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

Voir aussiSee Also

Opérateur AND logique : && Logical AND Operator: &&
Opérateur virgule : ,Comma Operator: ,