是否可以在OMNET ++中的参数表达式中进行转换?

时间:2018-06-15 12:33:33

标签: omnet++

我在OMNET ++中有一个相当简单的代码,它从用户那里获取一个参数并用它来决定其他几个

network ExampleNetwork
{
    parameters:
         int k;
         int variable = (k / 2);

    ...
}

此代码将正确构建,但在运行时会显示错误消息:

  

'无法评估参数' test'。无法从double类型转换为1   整数(注意:没有从double到int的隐式转换)'

其中' 1'是k / 2的值。

似乎解决这个问题的方法是将表达式的结果显式地转换为int,但是我找不到任何说明如何在NED文件中执行此操作的文档。

有谁知道它们是如何写的?

我相信这是在早期版本的OMNET ++上工作的。我现在在Ubuntu上的5.4版本。

1 个答案:

答案 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);