为了账号安全,请及时绑定邮箱和手机立即绑定

使用listTimes方法时无法运行

void main() {
  // 方法赋值给变量
  var fun = printHello;
  fun();
  // 方法作为参数传递
  List list = [1, 2, 3, 4];
  list.forEach(print);

  List names = ["哈", "王", "神"];
  print(listTimes(names, times));
}

/// 方法
void printHello() {
  print("Hello");
}

/// 创建了一个传入函数的方法
List listTimes(List list, String times(msg)) {
  for (int i = 0; i < list.length; i++) {
    list[i] = times(list[i]);
  }
  return list;
}

String times(String msg) {
  return msg * 3;
}

在调用

 print(listTimes(names, times));

时软件报错,提示:

Error: The top level function has type 'String Function(String)' that isn't of expected type 'String Function(dynamic)'.

Change the type of the function or the context in which it is used.

  print(listTimes(names, times));


正在回答

2 回答

times方法在声明的时候指定参数msg的类型为String,但是在listTimes接收参数声明的时候定义的是dynamic类型的msg,可以将List listTimes(List list, String times(msg))修改为List listTimes(List list, String times(String msg))

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

使用listTimes方法时无法运行

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信