跳到主要內容

const_with_non_constant_argument

常量建立的引數必須是常量表達式。

描述

#

當使用非常量表達式引數呼叫 const 建構函式時,分析器會生成此診斷。

示例

#

以下程式碼會生成此診斷,因為 i 不是常量

dart
class C {
  final int i;
  const C(this.i);
}
C f(int i) => const C(i);

常見修復方法

#

要麼將所有引數都設為常量表達式,要麼移除 const 關鍵字以使用建構函式的非常量形式

dart
class C {
  final int i;
  const C(this.i);
}
C f(int i) => C(i);