Share via


C6314

경고 C6314: 연산 순서가 잘못되었습니다. 비트 OR는 조건식 연산자보다 우선 순위가 높습니다. 잘못된 연산 결과가 발생하지 않도록 하려면 괄호를 추가하십시오.

이 메시지는 비트 OR 연산자(|)가 포함된 식이 조건 연산(?:)의 테스트되는 식에서 발견되었음을 나타냅니다.

조건 연산자는 비트 연산자보다 우선 순위가 낮습니다. 테스트되는 식에 비트 OR 연산자가 포함되어야 하는 경우 조건식 앞뒤에 괄호를 추가해야 합니다.

예제

다음 코드에서는 이 경고를 발생시킵니다.

int SystemState();

int f(int SignalValue)
{
  return SystemState() | (SignalValue != 0) ? 1 : 0;
}

이 경고를 해결하려면 다음 코드를 사용합니다.

int SystemState();

int f(int SignalValue)
{
  return SystemState() | ((SignalValue != 0) ? 1 : 0);
} 

참고 항목

참조

Bitwise Inclusive OR Operator: |

Conditional Operator: ? :