C6319
Mise à jour : novembre 2007
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.
Exemple
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
}
}