Как инициализировать boost :: random :: diskte_distribution с помощью std :: vector?

, я хотел бы инициализировать boost :: random :: diskte_distribution с помощью std: : вектор <двойной> .

Моя проблема в том, что если я инициализирую его массивом, как в официальном примере:

double probabilities[] = {
    0.5, 0.1, 0.1, 0.1, 0.1, 0.1
};
boost::random::discrete_distribution<> dist(probabilities);

, он работает отлично.

Однако, если я инициализирую его с помощью std :: vector , он будет вести себя так, как если бы он имел только один элемент с вероятностью 1.0.

Можете ли вы сказать мне, как правильно инициализировать boost :: random :: diskte_distribution <> вектором?

6
задан sth 26 October 2011 в 14:36
поделиться