我在OMNET ++中有一个相当简单的代码,它从用户那里获取一个参数并用它来决定其他几个
network ExampleNetwork
{
parameters:
int k;
int variable = (k / 2);
...
}
此代码将正确构建,但在运行时会显示错误消息:
'无法评估参数' test'。无法从double类型转换为1 整数(注意:没有从double到int的隐式转换)'
其中' 1'是k / 2的值。
似乎解决这个问题的方法是将表达式的结果显式地转换为int,但是我找不到任何说明如何在NED文件中执行此操作的文档。
有谁知道它们是如何写的?
我相信这是在早期版本的OMNET ++上工作的。我现在在Ubuntu上的5.4版本。
答案 0 :(得分:4)
很抱歉使用简单的" RTFM"来回答,但这是最有效的:https://omnetpp.org/doc/omnetpp/manual/#sec:ned-functions:category-conversion
自OMNeT ++ 5.3起,double
值不再隐式转换为int
。
使用int
功能,如下所示:int variable = int(k / 2)
;