초기화가 없어 타입을 추론할 수 없는 변수
초기화가 없어 타입을 추론할 수 없는 변수 (inference_failure_on_uninitialized_variable)
변수를 선언했는데 타입도 붙이지 않고 초기화 값도 주지 않으면, Dart가 이 변수의 타입이 뭔지 알 수가 없어요. 이 진단은 그렇게 초기화 없이는 타입을 추론할 수 없는 변수가 있을 때 분석기가 알려주는 진단이에요.
본문
설명
분석기는 다음 조건이 모두 맞을 때 이 진단을 만들어요.
- 분석 옵션 파일에서 언어 옵션
strict-inference가 켜져 있고, - 변수 선언에 타입이 없으며,
- 변수의 타입을 추론할 수도 없을 때요.
예시
먼저 분석 옵션 파일에 strict-inference를 켜 둔 다음에요.
analyzer:
language:
strict-inference: true
아래 코드는 변수 s에 명시적 타입도 없고, 초기화 값이 없어서 타입을 추론할 수 없기 때문에 이 진단이 나와요.
var s;
흔한 해결 방법
명시적인 타입을 붙여 주면 돼요.
String? s;