跳转至正文

field_initializer_in_struct

Details about the 'field_initializer_in_struct' diagnostic produced by the Dart analyzer.

Constructors in subclasses of 'Struct' and 'Union' can't have field initializers.

Description

#

The analyzer produces this diagnostic when a constructor in a subclass of either Struct or Union has one or more field initializers.

For more information about FFI, see C interop using dart:ffi.

Example

#

The following code produces this diagnostic because the class C has a constructor with an initializer for the field f:

dart
import 'dart:ffi';
​
final class C extends Struct {
  @Int32()
  int f;
​
  C() : f = 0;
}

Common fixes

#

Remove the field initializer:

dart
import 'dart:ffi';
​
final class C extends Struct {
  @Int32()
  int f;
​
  C();
}