Compartilhar via


C6319

Aviso C6319: uso do operador vírgula em uma expressão testada faz com que o argumento esquerdo seja ignorado quando tem sem efeitos colaterais

Este aviso indica uma subexpressão ignorado no contexto do teste por causa de operador vírgula (,).O operador vírgula tem associatividade de operadores da esquerda para a direita.O resultado do operador vírgula é a última expressão avaliada.Se a expressão à esquerda para o operador vírgula não tem efeitos colaterais, 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 sistema autônomo mostrado no código a seguir:

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 Logical: &&

Operador Vírgula: ,