я следующее:Случайные двойники всегда бесконечна
std::random_device rd;
std::mt19937_64 randEng(rd());
std::uniform_real_distribution<double> rg(std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max());
for(size_t i = 0; i < numToGenerate; i++){
nums[i] = rg(randEng);
std::cout << nums[i] << std::endl;
}
Где nums
вектор presized к numToGenerate
Каждый номер, который печатается, хотя говорит inf
мое понимание было то, что я установил это вверх чтобы получить случайные числа между ними в этом случае -1.79769e+308
и 1.79769e+308
, как это бывает на моей машине. Что я делаю неправильно здесь, в настройке этого генератора случайных чисел?
Что такое 'nums'? Как вы его инициализируете? Если это вектор, вам, вероятно, нужно заранее «изменить размер()» или использовать «push_back», чтобы избежать неопределенного поведения, выписав за пределы. –
Нет определения для nums. Как это определяется? –
'nums' - это вектор, который имеет размер' numToGenerate' – csteifel