creation_ of_ struct_ or_ union
Detalhes sobre o diagnóstico 'creation_of_struct_or_union' produzido pelo analisador do Dart.
Subclasses of 'Struct' and 'Union' are backed by native memory, and can't be instantiated by a generative constructor.
Descrição
#
O analisador emite este diagnóstico quando uma subclasse de Struct ou de Union
é instanciada usando um construtor generativo.
Para mais informações sobre FFI, consulte Interop com C usando dart:ffi.
Exemplo
#
O código a seguir produz este diagnóstico porque a classe C está sendo instanciada usando um construtor generativo:
import 'dart:ffi';
final class C extends Struct {
@Int32()
external int a;
}
void f() {
C();
}
Correções comuns
#Se você precisar alocar a estrutura descrita pela classe, use o pacote ffi para isso:
import 'dart:ffi';
import 'package:ffi/ffi.dart';
final class C extends Struct {
@Int32()
external int a;
}
void f() {
final pointer = calloc.allocate<C>(4);
final c = pointer.ref;
print(c);
calloc.free(pointer);
}
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ê.