enum 생성자에서 super 초기화 사용
enum 생성자에서 super 초기화 사용
Dart 분석기(analyzer)가 만들어 내는 이 진단은, enum 안에 있는 생성자의 초기화 목록에서 super 생성자를 호출했을 때 알려줘요. enum은 클래스와 달리 슈퍼 생성자를 호출할 수 없기 때문에 짚고 넘어가야 하는 부분이에요.
본문
진단 메시지는 "The enum constructor can't have a 'super' initializer." 즉 "enum 생성자는 'super' 초기화를 가질 수 없어요."라는 뜻이에요.
설명
enum 안에 있는 생성자의 초기화 목록(initializer list)에 super 생성자 호출이 포함돼 있으면 이 진단이 나와요.
예시
다음 코드는 enum E의 생성자가 초기화 목록에 super 생성자 호출을 가져서 이 진단이 나와요:
enum E {
e;
const E() : super();
}
해결 방법
super 생성자 호출을 제거하면 돼요:
enum E {
e;
const E();
}