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: ,