variable_ length_ array_ not_ last
Detalhes sobre o diagnóstico 'variable_length_array_not_last' produzido pelo analisador do Dart.
Variable length 'Array's must only occur as the last field of Structs.
Descrição
#
O analisador gera este diagnóstico quando um Array inline de tamanho variável
não é o último membro de um Struct.
Para mais informações sobre FFI, veja interop com C usando dart:ffi.
Exemplo
#
O código a seguir gera este diagnóstico porque o campo a0 tem um tipo com três
arrays aninhados, mas apenas duas dimensões são informadas na anotação Array:
import 'dart:ffi';
final class C extends Struct {
@Array.variable()
external Array<Uint8> a0;
@Uint8()
external int a1;
}
Correções comuns
#Mova o Array inline de tamanho variável para ser o último campo do struct.
import 'dart:ffi';
final class C extends Struct {
@Uint8()
external int a1;
@Array.variable()
external Array<Uint8> a0;
}
Se o array inline tem tamanho fixo, anote-o com o tamanho:
import 'dart:ffi';
final class C extends Struct {
@Array(10)
external Array<Uint8> a0;
@Uint8()
external int a1;
}
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ê.