Я научился программировать на C# и начал изучать C++. Я использую интегрированную среду разработки Visual Studio 2010. Я пытаюсь генерировать случайные числа с классами распределения, доступными в <random>
. Например, я попытался сделать следующее:
#include <random>
std::normal_distribution<double> *normal = new normal_distribution<double>(0.0, 0.0);
std::knuth_b *engine = new knuth_b();
std::variate_generator<knuth_b, normal_distribution<double>> *rnd;
rnd = new variate_generator<knuth_b, normal_distribution<double>>(engine, normal);
Последняя строка выдает ошибку компилятора: IntelliSense: нет экземпляра конструктора "std::tr1::variate_generator‹_Engine, _Distrib>::variate_generator [с _Engine=std::tr1::knuth_b, _Distrib=std::tr1:: normal_distribution]" соответствует списку аргументов
Мои аргументы выглядят нормально, что я делаю не так? Когда здесь создается экземпляр класса variate_generator, какой метод вы вызываете, чтобы получить следующее случайное число, то есть System.Random.Next() в .NET?