최대 1 분 소요

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]];를 입력하면 경고가 사라진다.

참고자료

댓글 남기기