我有問題想在一個結構中創建一個std::uniform_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);
我該怎麼辦呢?
可能性不大。該錯誤與您的代碼不符。 'gen'的定義也不受MVP的影響嗎? –
@LightnessRacesinOrbit只有'rd'是一個類型名稱。 – Casey