non_positive_array_dimension 진단: 배열 크기는 양수여야 해요
non_positive_array_dimension 진단: 배열 크기는 양수여야 해요
Dart 분석기가 만들어 내는 non_positive_array_dimension 진단에 대한 설명이에요.
본문
Array 어노테이션에 주어진 크기(dimension)가 0보다 작거나 같을 때(0 이하일 때) 분석기가 이 진단을 만들어요.
설명
Array 어노테이션에 지정한 크기가 0 또는 음수면 이 진단이 나와요. 배열의 크기는 항상 양수여야 하거든요.
FFI에 대한 더 자세한 내용은 C interop using dart:ffi에서 확인할 수 있어요.
예시
다음 코드는 배열 크기로 -8을 지정해서 이 진단을 만들어요.
import 'dart:ffi';
final class MyStruct extends Struct {
@Array(-8)
external Array<Uint8> a0;
}
흔한 해결 방법
크기를 양의 정수로 바꿔요.
import 'dart:ffi';
final class MyStruct extends Struct {
@Array(8)
external Array<Uint8> a0;
}
가변 길이 인라인 배열이라면 어노테이션을 Array.variable()로 바꿔요.
import 'dart:ffi';
final class MyStruct extends Struct {
@Array.variable()
external Array<Uint8> a0;
}