跳到主要內容

non_const_argument_for_const_parameter

引數“{0}”必須是常量。

描述

#

當引數使用 mustBeConst 註解進行標註,並且對應的實參不是常量表達式時,分析器會產生此診斷訊息。

示例

#

以下程式碼會在函式 f 的呼叫處產生此診斷訊息,因為傳遞給函式 g 的實參的值不是常量。

dart
import 'package:meta/meta.dart' show mustBeConst;

int f(int value) => g(value);

int g(@mustBeConst int value) => value + 1;

常見修復

#

如果可以使用合適的常量,則用常量替換實參。

dart
import 'package:meta/meta.dart' show mustBeConst;

const v = 3;

int f() => g(v);

int g(@mustBeConst int value) => value + 1;