경고 C26827
열거형을 초기화하는 것을 잊거나 다른 형식을 사용하려고 했습니까?
설명
비트 연산에 사용되는 대부분의 enum
형식에는 2의 권한 값을 가진 멤버가 있어야 합니다. 이 경고는 값이 열거형 상수에 명시적으로 지정되지 않은 경우를 찾으려고 시도합니다. 또한 잘못된 열거형 형식이 실수로 사용되었을 수 있는 경우를 찾습니다.
코드 분석 이름: ALMOST_BITWISE_ENUM
예시
다음 샘플 코드는 경고 C26827을 발생합니다.
enum class AlmostBitWise
{
A = 1,
B = 2,
C = 4,
D
};
int almostBitwiseEnums(AlmostBitWise a, bool cond)
{
return (int)a|(int)AlmostBitWise::A; // Warning C26827: Did you forget to initialize an enum, or intend to use another type?
}
경고를 해결하려면 열거형 상수의 값을 올바른 값으로 초기화하거나 작업에서 올바른 열거형 형식을 사용합니다.
enum class AlmostBitWise
{
A = 1,
B = 2,
C = 4,
D = 8
};
int almostBitwiseEnums(AlmostBitWise a, bool cond)
{
return (int)a|(int)AlmostBitWise::A; // No warning.
}