我实际上在努力理解此类型错误。

任何人都知道我如何更正代码?谢谢

CheckIn checkin1 = new CheckIn(location1, dt);
CheckInMonths checkInMonths = new CheckInMonths();

该行发生错误, checkin1 出了点问题:
checkInMonths.months.putIfAbsent(month,checkin1);

其他代码:
class CheckIn {
  Location location;
  DateTime dateTime;

  CheckIn(this.location, this.dateTime);
}

class CheckInMonths {
  Map<Month, CheckIn> months = new Map();

}

最佳答案

putIfAbsent的第二个参数必须是一个返回CheckIn值(https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart:core.Map#id_putIfAbsent)的函数。

checkInMonths.months.putIfAbsent(month, () => checkin1);

关于dart - 参数类型“CheckIng”不能分配给参数类型“(()-> Check In”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27666462/

10-10 07:12