invalid_ field_ type_ in_ struct
Detalhes sobre o diagnóstico 'invalid_field_type_in_struct' produzido pelo analisador do Dart.
Fields in struct classes can't have the type '{0}'. They can only be declared as 'int', 'double', 'Array', 'Pointer', or subtype of 'Struct' or 'Union'.
Descrição
#
O analisador produz este diagnóstico quando um campo de uma subclasse de Struct
tem um tipo diferente de int, double, Array,
Pointer ou de um subtipo de
Struct ou Union.
Para mais informações sobre FFI, veja Interop com C usando dart:ffi.
Exemplo
#
O código a seguir produz este diagnóstico porque o campo s tem o tipo String,
que não é um dos tipos permitidos para campos em uma subclasse de Struct:
import 'dart:ffi';
final class C extends Struct {
external String s;
@Int32()
external int i;
}
Correções comuns
#Use um dos tipos permitidos para o campo:
import 'dart:ffi';
import 'package:ffi/ffi.dart';
final class C extends Struct {
external Pointer<Utf8> s;
@Int32()
external int i;
}
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ê.