我试图做一个随机数发生器,产生0和999随机数生成C++在CMD
我做最初运行它从何处时间生成mt19937种子(之间的数字错误null),但发现这会导致该数字每秒更改一次,并且速度不够快,因为当我从for循环中再次调用它时。我使用code :: blocks来编译我的代码,它编译时没有错误,但是当我运行代码时,我在cmd中发生错误。
Error: terminate called after throwing an instance of 'std::runtime_error'
what(): random_device::random_device(const std::string&)
我在做可怕的错误吗?
#include <iostream>
#include <random>
using namespace std;
//Random Number Generator
int numGen() {
//Random Number Generator
random_device rd;
mt19937 mt(rd());
uniform_int_distribution<int> dist(0, 999);
for (int I = 0; I < 6; i++) {
cout <<dist(mt) << " ";
}
cout <<endl;
}
UPDATE:
我现在已经运行从Visual Studio完全相同的代码,并没有错误。
我已经签了一个网站,编译并执行你的代码,它运行没有问题 – user3341479
代码::块是用C++ 11 以下选项兼容也被激活: “有G ++遵循C + +11 ISO C++语言标准[-std = C++ 11]“ – user3341479
为什么你每次都重播? – RyanP