initializing_ formal_ for_ non_ existent_ field
Detalhes sobre o diagnóstico 'initializing_formal_for_non_existent_field' produzido pelo analisador do Dart.
'{0}' isn't a field in the enclosing class.
Descrição
#O analisador produz este diagnóstico quando um parâmetro formal de inicialização é encontrado em um construtor de uma classe que não declara o campo que está sendo inicializado. Construtores não podem inicializar campos que não foram declarados nem campos herdados de superclasses.
Exemplo
#
O código a seguir produz este diagnóstico porque o campo x não está
definido:
class C {
int? y;
C(this.x);
}
Correções comuns
#Se o nome do campo estava errado, então altere-o para o nome de um campo existente:
class C {
int? y;
C(this.y);
}
Se o nome do campo está correto, mas ainda não foi definido, então declare o campo:
class C {
int? x;
int? y;
C(this.x);
}
Se o parâmetro é necessário, mas não deve inicializar um campo, então transforme-o em um parâmetro normal e use-o:
class C {
int y;
C(int x) : y = x * 2;
}
Se o parâmetro não for necessário, então remova-o:
class C {
int? y;
C();
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.