【发布时间】:2015-09-18 03:43:39
【问题描述】:
在解决这个问题数小时后,我找不到任何解释我的错误的原因。
我希望计算机在 0 到 120(含)之间选择一个随机数(加权)。我有一个数组,interval[],它保存从 0 到 120(含)的数字。我有另一个数组 weights[],它保存了选择数组中第 i 个元素的概率。我想为这些数据定义一个概率分布函数。
这是我尝试过的。我收到一条错误消息,指出没有构造函数实例与参数列表匹配。
我的代码片段:
std::vector< int> weights(121);
for (int i = 0; i < 121; i++)
{
weights[i] = (teamData[i]).S();
}
discrete_distribution<> dist(weights.begin(), weights.end());
【问题讨论】:
-
我的编译器不知道
piecewise_constant_distribution。你在使用你没有告诉我们的库吗? -
我添加了我的代码的 sn-p
-
您是否使用支持
piecewise_constant_distribution的 C++11 编译器进行编译?并启用 C++11 支持编译?缺少其中任何一个都会导致您的代码无法编译。 -
我假设我的编译器支持piecewise_constant_distribution,因为它没有以红色下划线显示。另外,我启用了 C++11 支持。
标签: c++ random distribution