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]]; 문을 입력하면 된다.