我收到以下错误。
The argument type 'dynamic' can't be assigned to the parameter type '() -> dynamic'
例子是:
outerFunc(somevar) {
return () {....}
}
anOtherFunction(func()) {....}
anOtherFunction(outerFunc('test'));
当我以强模式返回匿名函数并且启动了analysis_options.yaml时会发生这种情况。
strong-mode:
implicit-casts: false
答案 0 :(得分:1)
outerFunc
未指定返回类型,因此假定为dynamic
。
您可以创建一个typedef并将其用作outerFunc
的返回类型。
无法从return语句中推断出函数类型。
typedef dynamic F();
F outerFunc(somevar) {
return () {};
}
您也可以在线编写函数类型
dynamic Function() outerFunc(somevar) {
return () {};
}