首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dart分析器错误: argument_type_not_assignable

dart分析器错误: argument_type_not_assignable
EN

Stack Overflow用户
提问于 2022-12-03 13:58:08
回答 2查看 20关注 0票数 0

TrackPoint tp类型: TrackPoint

参数类型'TrackPoint (在...lib\trackPoint.dart中定义TrackPoint )‘不能分配给参数类型'TrackPoint (在...lib\trackpoint.dart中定义TrackPoint )’.dart.dart trackpoint.dart(8,7):TrackPoint在...lib\trackpoint.dart trackPoint.dart(8,7)中定义: TrackPoint在...lib\trackPoint.dart中定义

以下是错误所在:

代码语言:javascript
复制
import 'trackpoint.dart' show TrackPoint;

class TrackingStatus {

    // ...

    static void _triggerEvent(TrackPoint tp) {
        // ...
        TrackingStatusChangedEvent.trigger(tp); // <-- error on tp, see above
    }

造成错误的原因如下:

代码语言:javascript
复制
class TrackingStatusChangedEvent {


static void trigger(TrackPoint tp) { // <-- causes error
  // ...
}

static void trigger(tp) { // <-- works but tp should not be dynamic
  // ...
}

以下是TrackPoint的来源:

代码语言:javascript
复制
class TrackPoint {
  static final List<TrackPoint> _trackPoints = [];



void _addTrackPoint() {
    _trackPoints.add(this);

argument_type_not_assignable对我来说不合理。特别是因为错误消息指向同一个文件中的同一个类,就好像它们是不同的一样。

EN

回答 2

Stack Overflow用户

发布于 2022-12-03 14:43:37

我建议只在库导入中使用前缀。见下文。

代码语言:javascript
复制
import 'trackpoint.dart' as tp;

那就这样用吧。

代码语言:javascript
复制
class TrackPoint {
  static final List<tp.TrackPoint> _trackPoints = [];



void _addTrackPoint() {
    _trackPoints.add(this);
票数 0
EN

Stack Overflow用户

发布于 2022-12-03 15:26:56

将类TrackPoint和类TrackingStatus放在同一个文件中解决了这个问题。可能是交叉装载的问题。

无论如何,谢谢你的帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74667407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档