C6319
aviso C6319: O uso do operador de vírgula em uma expressão testada faz com que o argumento esquerdo seja ignorado quando não tem efeito colateral
Esse aviso indicar uma subexpressão ignorada no contexto de teste devido ao vírgula- operador (,).O operador vírgula tem a capacidade da esquerda para a direita.O resultado de vírgula- operador é a última expressão avaliada.Se a expressão da esquerda para vírgula- operador não tem nenhum efeito colateral, o compilador pode omitir a geração de código para a expressão.
Exemplo
O código a seguir gera este aviso:
void f()
{
int i;
int x[10];
// code
for ( i = 0; x[i] != 0, x[i] < 42; i++) // warning
{
// code
}
}
Para corrigir esse aviso, use o operador lógico AND conforme mostrado no seguinte código:
void f()
{
int i;
int x[10];
// code
for ( i = 0; (x[i] != 0) && (x[i] < 42); i++)
{
// code
}
}