我试图使用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。
答案 0 :(得分:0)
我将我的静脉更新为Veins 4.4,将mt19937设置为BaseWaveApplLayer.h中的静态:
s
在我的车辆类中定义他:
static mt19937 mt;
在BaseWaveApplLayer类中使用他:
mt19937 BaseWaveApplLayer::mt_veh;
感谢所有帮助:)!