Udostępnij za pośrednictwem


Ostrzeżenie C6336

Operator arytmetyczny ma pierwszeństwo przed operatorem pytania, użyj nawiasów, aby wyjaśnić intencję

Uwagi

To ostrzeżenie wskazuje możliwy problem z pierwszeństwem operatora. Operatory "+",-",*" i "/" mają pierwszeństwo przed operatorem "?". Jeśli pierwszeństwo w wyrażeniu nie jest poprawne, użyj nawiasów, aby zmienić pierwszeństwo operatora.

Nazwa analizy kodu: QUESTIONPRECEDENCE

Przykład

Następujący kod generuje to ostrzeżenie:

int Count();

void f(int flag)
{
  int result;
  result = Count() + flag ? 1 : 2;
  // code...
}

Aby poprawić to ostrzeżenie, dodaj nawias, jak pokazano w poniższym kodzie:

int Count();

void f(int flag)
{
  int result;
  result = Count() + (flag ? 1 : 2);
  // code...
}

Zobacz też

Wbudowane operatory, pierwszeństwo i kojarzenie języka C++