错误:未为类“Object?”定义运算符“+”

时间:2021-05-31 13:33:53

标签: flutter dart

我在折叠整数元素列表以总结它们时遇到了挑战。

 List<int> ints = [1,2,3,4,5];
 var result = ints.fold(0, (pV,element)=>pV + element);
 print(result);

不知何故,我无法编译这个简单的代码。我不断收到错误:

Error compiling to JavaScript:
Warning: Interpreting this as package URI, 'package:dartpad_sample/main.dart'.
lib/main.dart:19:46:
Error: The operator '+' isn't defined for the class 'Object?'.
 - 'Object' is from 'dart:core'.
var result = ints.fold(0, (pV,element)=>pV + element);
                                         ^
Error: Compilation failed.

任何帮助

2 个答案:

答案 0 :(得分:0)

我不知道为什么,但是如果您明确指定类型,它就可以工作:

var result = ints.fold(0, (int pV, element) => pV + element);

答案 1 :(得分:-1)

由于 pV 是 object 类型而 element 是 int 类型,因此您不能添加它们。

如果需要,您可以执行以下操作:

List<int> ints = [1,2,3,4,5];
 var result = ints.fold(0, (pV,element)=>int.parse(pV.toString()) + element);
 print(result);