Sdílet prostřednictvím


C6319

upozornění C6319: použití operátoru čárky v testovaném výrazu způsobuje, že je levý argument ignorován, nemá-li žádné vedlejší účinky

Toto upozornění ukazuje na podvýraz v testovacím kontextu ignorovaný kvůli operátoru čárky (,).Operátor čárky je asociativní zleva doprava.Výsledkem operátoru čárky je poslední vyhodnocovaný výraz.Nemá-li levý výraz operátoru čárky žádný vedlejší účinek, kompilátor může pro tento výraz vynechat generování kódu.

Příklad

Následující kód generuje toto upozornění:

void f()
{
  int i;
  int x[10];

  // code 
  for ( i = 0; x[i] != 0, x[i] < 42; i++)  // warning
  {
    // code
  }
}

Chcete-li toto upozornění opravit, použijte logický operátor AND, jak je ukázáno v následujícím kódu:

void f()
{
  int i;
  int x[10];

  // code 

  for ( i = 0; (x[i] != 0) && (x[i] < 42); i++) 
  {
    // code
  }
} 

Viz také

Referenční dokumentace

Logický operátor: & &

Operátor čárka:,