我想创建一个类,每当我调用它时将返回一个随机数。但是当我把它放到一个循环中时,它每次都会返回相同的随机数。我播种了一次,但它仍然一遍又一遍地返回。只有当我关闭程序并再次打开它时,它才会有所不同。任何帮助将非常感激。随机生成器,种子不工作
**编辑
当我不能看到我每次调用它。
RadomGenerator rg = new...
for(int i =0; i<10; i++){
rg.createRandomNumber(1,5);}
这是不是只有一次然后调用方法createRandomNumber几次?
RandomGenerator::RandomGenerator()
{
seed = time(0);
}
int RandomGenerator::createRandomNumber(int start, int end)
{
std::function<int()> randomNumber = std::bind(std::uniform_int_distribution<int>(start,end),
mt19937(seed));
qDebug()<< "result" << randomNumber() ;
return randomNumber();
}
你每次播种了。 –
我相信有几十个重复。如果你使用每秒都会改变的种子,那么每隔一秒钟你就会得到一个不同的序列。 – user463035818