Modelica 在作用域中找不到函数_
我在使用默认为Modelica标准库2D combi表的可替换类型参数时遇到问题。我正在使用OpenModelica 1.14.1。我是Modelica的新手,所以我不确定我看到的是错误还是误解的结果 以下代码工作正常(当我按下“检查模型”时,没有翻译错误): 然而,这并不是:Modelica 在作用域中找不到函数_,modelica,openmodelica,Modelica,Openmodelica,我在使用默认为Modelica标准库2D combi表的可替换类型参数时遇到问题。我正在使用OpenModelica 1.14.1。我是Modelica的新手,所以我不确定我看到的是错误还是误解的结果 以下代码工作正常(当我按下“检查模型”时,没有翻译错误): 然而,这并不是: model Error replaceable class DefaultTable = Modelica.Blocks.Tables.CombiTable2D; DefaultTable bob; DefaultTab
model Error
replaceable class DefaultTable = Modelica.Blocks.Tables.CombiTable2D;
DefaultTable bob;
DefaultTable geoff;
end Error;
获得以下误差:
[Modelica.Blocks.Tables: 613:7-613:57]: Function Internal.getTable2DValueNoDer not found in scope DefaultTable.
这是一个编译器错误:在
不过,它似乎在旧的前端中工作(这是命令行中的默认设置,可以在OMEdit中打开)。通过添加“Modelica.Blocks.Tables”。在Modelica.Blocks.Tables的第613行和第615行中的函数引用中,我避免了错误。这些行现在显示为:“y=Modelica.Blocks.Tables.Internal.getTable2DValueNoDer”(tableID,u1,u2);'和'y=Modelica.Blocks.Tables.Internal.getTable2DValue(tableID,u1,u2);'而不是'y=Internal.getTable2DValueNoDer(tableID,u1,u2);'和'y=Internal.getTable2DValue(tableID,u1,u2);'。我不知道为什么这样做……这可能是包引用的嵌套查找的问题吗?
[Modelica.Blocks.Tables: 613:7-613:57]: Function Internal.getTable2DValueNoDer not found in scope DefaultTable.