跳到主要内容

variable_type_mismatch

类型 '{0}' 的值不能赋给类型为 '{1}' 的 const 变量。

描述

#

分析器在常量表达式求值会导致 CastException 时会产生此诊断消息。

示例

#

以下代码会产生此诊断消息,因为 x 的值是 int 类型,不能赋给 y,因为 int 不是 String 类型。

dart
const dynamic x = 0;
const String y = x;

常见修复方法

#

如果常量声明正确,则将要赋的值更改为正确的类型。

dart
const dynamic x = 0;
const String y = '$x';

如果赋的值正确,则更改声明以使用正确的类型。

dart
const int x = 0;
const int y = x;