이전 case에 가려진 switch case

이전 case에 가려진 switch case

switch 문 안의 어떤 case 절이 앞선 case 때문에 어떤 값도 매칭하지 못할 때 이 진단이 발생해요. 중복되거나 겹치는 case를 정리하는 방법을 함께 살펴볼게요.

출처: unreachable_switch_case

본문

설명

analyzer는 switch 문 안의 case 절이 매칭 가능한 모든 값을 앞선 case가 이미 매칭해서 아무것도 매칭하지 못할 때 이 진단을 내보내요.

예시

다음 코드는 값 1이 앞선 case에서 이미 매칭됐기 때문에 진단이 발생해요.

void f(int x) {
  switch (x) {
    case 1:
      print('one');
    case 1:
      print('two');
  }
}

일반적인 해결 방법

충돌하는 case 중 하나 또는 둘 다를 서로 다른 값을 매칭하도록 바꿔줘요.

void f(int x) {
  switch (x) {
    case 1:
      print('one');
    case 2:
      print('two');
  }
}

더 알아보기