Visual Studio C++에서 C26819 fallthrough 경고 해결
Visual Studio에서 C++로 코드를 작성하다보면 다음과 같이 초록색 표시와 함께 경고가 뜨는 경우가 있다.

다음과 같은 코드일 때 C26819 경고를 볼 수 있었다.
switch ( params.size() )
{
case 2:
eQuestState = static_cast<EQuestState>( RzStringUtil::ToUInt8( params[ 1 ] ) );
case 1:
nQuestTableKey = RzStringUtil::ToInt32( params[ 0 ] );
break;
}
치트키 입력을 처리하는 코드로, 인자 개수에 따라 여러 변수에 나누어 담는 로직이다.
switch-case에서 break 없이 다음 케이스로 흘러가도록 작성했기 때문에 C26819 경고가 발생한다. 이는 [[fallthrough]]; 어트리뷰트로 해결할 수 있다.
break;를 넣어야 할 위치에 [[fallthrough]];를 입력하면 경고가 사라진다.
댓글 남기기