【发布时间】:2022-12-03 23:38:33
【问题描述】:
TrackPoint tp 类型:TrackPoint
参数类型 'TrackPoint (其中 TrackPoint 在 ...lib\trackpoint.dart 中定义)' 不能分配给 参数类型 'TrackPoint(其中 TrackPoint 在 ...lib\trackPoint.dart 中定义)'.dart(argument_type_not_assignable)trackpoint.dart(8, 7): TrackPoint 定义在 ...lib\trackpoint.dart trackPoint.dart(8, 7):TrackPoint 定义在 ...lib\trackPoint.dart
这是错误所在:
import 'trackpoint.dart' show TrackPoint;
class TrackingStatus {
// ...
static void _triggerEvent(TrackPoint tp) {
// ...
TrackingStatusChangedEvent.trigger(tp); // <-- error on tp, see above
}
这是导致错误的原因:
class TrackingStatusChangedEvent {
static void trigger(TrackPoint tp) { // <-- causes error
// ...
}
static void trigger(tp) { // <-- works but tp should not be dynamic
// ...
}
这是 TrackPoint 的来源:
class TrackPoint {
static final List<TrackPoint> _trackPoints = [];
void _addTrackPoint() {
_trackPoints.add(this);
argument_type_not_assignable 对我来说不合理。特别是因为错误消息指向同一个文件中的同一个类,就好像它们是不同的东西一样
【问题讨论】:
-
这是我在运行时得到的错误,离开 tp dynamic:type 'TrackPoint' is not a subtype of type 'TrackPoint' where TrackPoint is from package:chaostours/trackPoint.dart TrackPoint is from package:chaostours/trackpoint.dart