empty_struct
类 '{0}' 不能是空的,因为它继承自 '{1}'。
描述
#当 Struct
或 Union
的子类没有任何字段时,分析器会产生此诊断。不支持空的 Struct
或 Union
。
有关 FFI 的更多信息,请参阅 使用 dart:ffi 进行 C 互操作。
示例
#以下代码会产生此诊断,因为类 C
继承自 Struct
,但未声明任何字段
dart
import 'dart:ffi';
final class C extends Struct {}
常见修复方法
#如果该类旨在用作结构体,则声明一个或多个字段
dart
import 'dart:ffi';
final class C extends Struct {
@Int32()
external int x;
}
如果该类旨在用作 Pointer
的类型参数,则使其成为 Opaque
的子类
dart
import 'dart:ffi';
final class C extends Opaque {}
如果该类并非旨在用作结构体,则删除或修改 extends 子句
dart
class C {}