Поделиться через


C6315

Предупреждение C6315: неверный порядок операций. Побитовое И имеет более высокий приоритет, чем побитовое ИЛИ. Добавьте скобки для уточнения.

Это предупреждение свидетельствует о том, что исключение в контексте теста содержит как битовую операцию И (&), так и битовую операцию ИЛИ (|), однако выдает константу, поскольку битовая операция ИЛИ выполняется последней. Для получения более четкого кода следует добавить скобки.

Пример

Это предупреждение создается следующим кодом:

void f( int i )
{
  if ( i & 2 | 4 ) // warning
  {
    // code
  }
}

Чтобы исправить это предупреждение, добавьте скобки, как показано в следующем коде:

void f( int i )
{
  if ( i & ( 2 | 4 ) )
  {
    // code
  }
}