mt19937无法设置random_device

问题描述 投票:-1回答:1

我的代码无法识别“生成器”,但我将其声明为我的C ++文件的顶部。我需要它是线程安全的,所以我用“thread_local”声明它:

#include <windows.h>
#include <iostream>
#include <random>

using namespace std;
thread_local mt19937 generator;

DWORD GenerateRandomNumber(DWORD dwMin, DWORD dwMax)
{
uniform_int_distribution <DWORD> distribution(dwMin, dwMax);
return distribution(generator);
}

int main() 
{
random_device rd;
generator(rd());
}
c++ multithreading random mt19937
1个回答
-3
投票

mt19937::operator()没有参数。

© www.soinside.com 2019 - 2024. All rights reserved.