我想創建一個類,每當我調用它時將返回一個隨機數。但是當我把它放到一個循環中時,它每次都會返回相同的隨機數。我播種了一次,但它仍然一遍又一遍地返回。只有當我關閉程序並再次打開它時,它纔會有所不同。任何幫助將非常感激。隨機生成器,種子不工作
**編輯
當我不能看到我每次調用它。
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