Pular para o conteúdo principal

missing_field_type_in_struct

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

Fields in struct classes must have an explicitly declared type of 'int', 'double' or 'Pointer'.

Descrição

#

O analisador gera este diagnóstico quando um campo em uma subclasse de Struct ou Union não tem uma anotação de tipo. Todo campo deve ter um tipo explícito, e o tipo deve ser int, double, Pointer, ou uma subclasse de Struct ou Union.

Para mais informações sobre FFI, consulte interoperabilidade com C usando dart:ffi.

Exemplo

#

O código a seguir gera este diagnóstico porque o campo str não tem uma anotação de tipo:

dart
import 'dart:ffi';
​
final class C extends Struct {
  external var str;
​
  @Int32()
  external int i;
}

Correções comuns

#

Especifique explicitamente o tipo do campo:

dart
import 'dart:ffi';
​
import 'package:ffi/ffi.dart';
​
final class C extends Struct {
  external Pointer<Utf8> str;
​
  @Int32()
  external int i;
}

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