int main()
{
int n = 5;
switch (n)
{
case 1:
a();
break;
case 2:
b();
d();
[[fallthrough]]; // I meant to do this!
case 3:
c();
break;
default:
d();
break;
}
return 0;
}
다음 케이스 구문을 실행하고자 할 때 사용함
- c++ 17에서 사용 가능함
- 다음 case/default 바로 직전에 사용
- 마지막 case/default 사용 불가
- break 와 같이 사용 불가
c++은 이미 switch문에서 break를 생략하면서 fallthrough 를 사용 가능하지만 명시적으로 컴파일러에게 알려주는 컴파일 경고를 제거함
(실수인지 의도한 부분인지 명확해짐)