返回类型'int'不是由匿名闭包定义的'int'

时间:2019-07-19 03:43:02

标签: dart

我在dart中将函数定义为名为“ TestDelegate”的类型,并按如下方式使用它:

typedef TestDelegate = T Function<T>();
TestDelegate delegate = <int>(){
  return 1;  <== error line
};

它产生了一个错误:

  

返回类型'int'不是匿名闭包定义的'int'。

该如何解决?

1 个答案:

答案 0 :(得分:3)

您必须在TestDelegate上声明泛型

typedef TestDelegate<T> = T Function();

void main() {
  print('RESULT: ${_delegate()}');
}

TestDelegate<int> _delegate = () {
  return 1;
};