为什么在函数中使用灵活的数组输入会在 OpenModelica 中引发转换错误?
Why does using a flexible array input in a function raise a translation error in OpenModelica?
在我看来,下面的简单 function
是完全合法的 Modelica 代码:
function foo "Returns true"
input Boolean[:] x "Vector of booleans";
output Boolean y "= true, in any case here";
algorithm
y := true;
end foo;
在 OpenModelica v1.16.2 (64-bit)
中使用 Check Model
会引发错误:
[1] 15:15:11 Translation Error
[foo: 2:3-2:42]: Failed to deduce dimension 1 of x due to missing binding equation.
Modelica 代码有问题还是 OME 问题?
编辑
只是为了表明,这实际上不是一个明确的案例:
这是在 Wolfram System Modeler 12.2 中验证 foo
时得到的消息:
[3] 10:59 Validation of function foo
Validation of function foo
completed successfully.
错误消息应为:“OpenModelica 不检查或实例化函数。要测试函数,请在模型中使用它。”
在我看来,下面的简单 function
是完全合法的 Modelica 代码:
function foo "Returns true"
input Boolean[:] x "Vector of booleans";
output Boolean y "= true, in any case here";
algorithm
y := true;
end foo;
在 OpenModelica v1.16.2 (64-bit)
中使用 Check Model
会引发错误:
[1] 15:15:11 Translation Error
[foo: 2:3-2:42]: Failed to deduce dimension 1 of x due to missing binding equation.
Modelica 代码有问题还是 OME 问题?
编辑
只是为了表明,这实际上不是一个明确的案例:
这是在 Wolfram System Modeler 12.2 中验证 foo
时得到的消息:
[3] 10:59 Validation of function foo
Validation of function foo completed successfully.
错误消息应为:“OpenModelica 不检查或实例化函数。要测试函数,请在模型中使用它。”