Pular para o conteúdo principal

field_initializer_not_assignable

Detalhes sobre o diagnóstico 'field_initializer_not_assignable' produzido pelo analisador do Dart.

The initializer type '{0}' can't be assigned to the field type '{1}' in a const constructor.

The initializer type '{0}' can't be assigned to the field type '{1}'.

Descrição

#

O analisador produz este diagnóstico quando a lista de inicializadores de um construtor inicializa um campo com um valor que não é atribuível ao campo.

Exemplo

#

O código a seguir produz este diagnóstico porque 0 tem o tipo int, e um int não pode ser atribuído a um campo do tipo String:

dart
class C {
  String s;
​
  C() : s = 0;
}

Correções comuns

#

Se o tipo do campo estiver correto, altere o valor atribuído a ele para que o valor tenha um tipo válido:

dart
class C {
  String s;
​
  C() : s = '0';
}

Se o tipo do valor estiver correto, altere o tipo do campo para permitir a atribuição:

dart
class C {
  int s;
​
  C() : s = 0;
}

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ê.