case 표현식은 상수여야 해요
case 표현식은 상수여야 해요
Dart 분석기가 case 절에 사용된 표현식이 상수 표현식이 아닐 때 이 진단을 내보내요. switch 문의 case 절은 컴파일 타임에 확정되는 상수만 사용할 수 있어요.
본문
아래 코드는 j가 상수가 아니기 때문에 이 진단이 발생해요.
void f(int i, int j) {
switch (i) {
case j:
// ...
break;
}
}
흔한 해결 방법
표현식을 상수 표현식으로 만들거나, switch 문을 if 문의 나열로 다시 작성하면 돼요.
void f(int i, int j) {
if (i == j) {
// ...
}
}