정의되지 않은 함수

정의되지 않은 함수

이 진단은 함수 이름처럼 보이는 식별자를 만났는데, 그 이름이 정의되어 있지 않거나 참조되는 범위(scope) 안에서 보이지 않을 때 analyzer가 만들어 내는 진단이에요. 오타로 함수 이름을 잘못 쓴 경우가 흔한 원인이에요.

출처: undefined_function

본문

The function '{0}' isn't defined. — 함수 {0}이 정의되어 있지 않다는 뜻이에요.

설명 (Description)

이 진단은 함수의 이름처럼 보이는 식별자를 만났는데, 그 이름이 정의되어 있지 않거나 참조되는 범위(scope) 안에서 보이지 않을 때 analyzer가 만들어 내요.

예시 (Example)

다음 코드는 emty라는 이름이 정의되어 있지 않기 때문에 이 진단이 발생해요.

List<int> empty() => [];

void main() {
  print(emty());
}

해결 방법 (Common fixes)

식별자가 정의되어 있지 않다면, 그 이름을 정의하거나 이미 정의된 함수 이름으로 바꾸면 돼요. 위 예시는 함수의 철자를 고쳐서 이렇게 해결할 수 있어요.

List<int> empty() => [];

void main() {
  print(empty());
}

함수가 정의되어 있는데 보이지 않는 경우라면, 아마 import를 추가하거나 코드를 재배치해서 함수가 보이도록 해야 해요.

더 알아보기