C ++ TR1: Wie verwende ich die normal_distribution?

Ich versuche das zu benutzenC ++ STD TechnicalReport1 Erweiterungen zur Generierung von Zahlen nach einer Normalverteilung, aber dieser Code (angepasst vonDieser Beitrag):

mt19937 eng;
eng.seed(SEED);

normal_distribution<double> dist;
// XXX if I use the one below it exits the for loop
// uniform_int<int> dist(1, 52);

for (unsigned int i = 0; i < 1000; ++i) {
  cout << "Generating " << i << "-th value" << endl;
  cout << dist(eng) << endl;
}

Es wird dann nur 1 Protokollmeldung "Generating ..." ausgegebenVerlässt niemals die for-Schleife! Wenn ich die Distribution verwende, die ich auskommentiert habe, wird sie beendet, und ich frage mich, was ich falsch mache. Irgendeine Idee?

Danke vielmals!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage