non_sized_type_argument 진단: Array 타입 인자는 유효한 타입이어야 해요
non_sized_type_argument 진단: Array 타입 인자는 유효한 타입이어야 해요
Dart 분석기가 만들어 내는 non_sized_type_argument 진단에 대한 설명이에요.
본문
Array 클래스의 타입 인자가 유효한 타입 중 하나가 아닐 때 분석기가 이 진단을 만들어요. 유효한 타입은 네이티브 정수, Float, Double, Pointer, 또는 Struct, Union, AbiSpecificInteger의 하위 타입이에요.
설명
Array의 타입 인자로 위에서 나열한 유효한 타입이 아닌 다른 타입을 쓰면 이 진단이 나와요.
FFI에 대한 더 자세한 내용은 C interop using dart:ffi에서 확인할 수 있어요.
예시
다음 코드는 Array의 타입 인자가 Void인데, Void는 유효한 타입이 아니기 때문에 이 진단을 만들어요.
import 'dart:ffi';
final class C extends Struct {
@Array(8)
external Array<Void> a0;
}
흔한 해결 방법
타입 인자를 유효한 타입 중 하나로 바꿔요.
import 'dart:ffi';
final class C extends Struct {
@Array(8)
external Array<Uint8> a0;
}