跳過主內容

void_checks

向型別為 'void' 的變數賦值。

描述

#

當向型別為 void 的變數賦值時,分析器會生成此診斷訊息。

無法訪問此類變數的值,因此此賦值無效。

示例

#

以下程式碼會生成此診斷訊息,因為欄位 value 的型別是 void,但卻為其賦了值

dart
class A<T> {
  T? value;
}

void f(A<void> a) {
  a.value = 1;
}

以下程式碼會生成此診斷訊息,因為方法 m 中引數 p 的型別是 void,但在呼叫中卻為其賦了值

dart
class A<T> {
  void m(T p) { }
}

void f(A<void> a) {
  a.m(1);
}

常見修復

#

如果變數型別不正確,請更改變數的型別

dart
class A<T> {
  T? value;
}

void f(A<int> a) {
  a.value = 1;
}

如果變數型別正確,請移除此賦值

dart
class A<T> {
  T? value;
}

void f(A<void> a) {}