【问题标题】:Anylogic: why is there an "error: impossible to resolve" during compiling?Anylogic:为什么在编译过程中会出现“错误:无法解决”?
【发布时间】:2021-12-27 21:35:17
【问题描述】:

我正在学习 Anylogic。目前,我正在学习如何为公共汽车建立路线。我使用“carsource”,表示应该出现公共汽车的位置;然后我设置了一个总线代理,在它的帮助下我注册了总线移动的逻辑。在巴士代理中,我指定了两个参数 - 巴士站及其编号。 “巴士站”是沿途所有巴士站的数组(“остановки”),“巴士站数”负责特定巴士所在的巴士站。所有这些参数都保存在一个“总线类”中。为什么我不能从存在该参数的同一类中引用参数“колвоОст”(即公交车站的数量)?谢谢!

附:你可以看到复制下面链接的截图(!!!)

https://imgur.com/a/q8irbCb

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    您需要在代理内部使用this.колвоОстthis 是您所指的特定代理单元的保留字。 这同样适用于this.остановки[...],因为您已为 Bus 代理的每个成员定义了此参数。

    【讨论】:

    • 确实,这是一个指向当前对象的指针。但恭维也有同样的错误。
    • “恭维”是什么意思?无论如何,您在 Bus 代理中执行 carSource->delay->selectOutput 是否有特定原因?为什么不使用 agent.... 在 Main 中执行此操作?
    • 我在一个类中指定了路线的逻辑和巴士代理。现在我可以访问参数了。我为“carMoveTo”指定了逻辑:this.остановки[this.колвоОст++],为 selectOutput:this.колвоОст==this.остановки.length。如果公交车停靠在公交车站,那么下一辆公交车会经过这个公交车站,而不是等待上一辆公交车开出。
    • 嗯,这是一个不同的问题,与模型逻辑有关。请随时投票并接受作为答案,以便其他人也可以受益。
    • 我想通了。问题是我在 carMoveTo 中设置了一个公共汽车站:this.остановки[this.колвоОст++]。这样,当一辆公共汽车开到一个公共汽车站时,参数“колвоОст”增加一个整数。下一个总线采用参数“колвоОст”的新值。但随之而来的是一个新的问题。我有三个公共汽车站。当公共汽车行驶到总共三个公共汽车站时,参数“колвоОст”的值在“公共汽车站”数组的范围内。如何更改每条总线的参数“колвоОст”的值?
    猜你喜欢
    • 2014-06-08
    • 2014-05-18
    • 1970-01-01
    • 2014-10-11
    • 2022-06-19
    • 1970-01-01
    • 2021-11-28
    • 2018-11-29
    • 1970-01-01
    相关资源
    最近更新 更多