使用mt19937的静脉错误

时间:2016-04-28 13:03:30

标签: omnet++ veins

我试图使用mt19937在Veins上为我的节点/车辆类生成(好的)随机数。当我为每辆车使用一辆mt19937时,他开玩笑,但当我设置为静止时(一辆mt19937对于所有车),他没有工作

static mt19937 mt;

使用mt时发生一个错误:

uniform_int_distribution <int> unif_dist(1, 100);
...
return unif_dist(mt);

错误:

  

网络期间模块(cModule)vehDist_rsu(id = 48)出错   设置:Class&#34; Veins :: ObstacleControl&#34;没找到 - 也许是它的代码   没有链接,或者课程没有注册   Register_Class(),或者在模块和通道的情况下,带   Define_Module()/ Define_Channel()。

     

网络清理期间出错:模型错误:ASSERT:condition   函数deleteNetwork,csimulation.cc中的vect [i] == NULL false   437。

我尝试用12解决,但没有用。

1 个答案:

答案 0 :(得分:0)

我将我的静脉更新为Veins 4.4,将mt19937设置为BaseWaveApplLayer.h中的静态:

s

在我的车辆类中定义他:

static mt19937 mt;

在BaseWaveApplLayer类中使用他:

mt19937 BaseWaveApplLayer::mt_veh;

感谢所有帮助:)!