跳到主要內容

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();
}