Используйте std ::iform_int_distribution и определите его диапазон позже
У меня есть проблема, где я хочу создатьstd::uniform_int_distribution
в структуре, а затем дать свой диапазон позже. Ниже то, что я хочу.
#include <random>
#include <iostream>
std::random_device rd;
std::mt19937 gen(rd());
struct group_s {
int k;
std::uniform_int_distribution<> dis;
} group;
int main()
{
group.dis(0,19);
std::cout << group.dis(gen) << ' ';
}
Я получаю следующую ошибку:
no match for call to '(std::uniform_int_distribution<>) (int, int)'
cpu_group.dis(0,19);
Как мне это сделать?