Compartilhar via


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
  }
} 

Consulte também

Referência

Operador AND lógico: &&

Operador de vírgula: ,