跳到主要内容

field_initializer_in_struct

'Struct' 和 'Union' 子类中的构造函数不能有字段初始化器。

描述

#

StructUnion 的子类中的构造函数有一个或多个字段初始化器时,分析器会生成此诊断。

有关 FFI 的更多信息,请参阅 使用 dart:ffi 的 C 语言互操作

示例

#

以下代码会生成此诊断,因为类 C 的构造函数包含字段 f 的初始化器

dart
// @dart = 2.9
import 'dart:ffi';

final class C extends Struct {
  @Int32()
  int f;

  C() : f = 0;
}

常见修复

#

移除字段初始化器

dart
// @dart = 2.9
import 'dart:ffi';

final class C extends Struct {
  @Int32()
  int f;

  C();
}