跳到主要内容

empty_struct

类 '{0}' 不能是空的,因为它继承自 '{1}'。

描述

#

StructUnion 的子类没有任何字段时,分析器会产生此诊断。不支持空的 StructUnion

有关 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 {}