C6314
Предупреждение C6314: неверный порядок операций. Побитовое ИЛИ имеет более высокий приоритет, чем условный оператор. Добавьте скобки для уточнения.
Это сообщение свидетельствует о том, что в тестируемом выражении условной операции обнаружено выражение, содержащее битовую операцию (|(?:).
Условный оператор имеет более низкий приоритет, чем побитовые операторы. Если выражение должно содержать оператор побитового ИЛИ, нужно заключить условное выражение в скобки.
Пример
Это предупреждение создается следующим кодом:
int SystemState();
int f(int SignalValue)
{
return SystemState() | (SignalValue != 0) ? 1 : 0;
}
Для устранения этого предупреждения используйте следующий код:
int SystemState();
int f(int SignalValue)
{
return SystemState() | ((SignalValue != 0) ? 1 : 0);
}