Sto lavorando su un server con GCC versione 4.4.7, e sono costretto a lavorare con questa versione sfortunatamente. Voglio utilizzare la libreria <random>
di C++ 0x, ma ho letto here che in questa versione uniform_real_distribution
è chiamato uniform_real
. Quando provo a chiamare questa funzione e normal_distribution
, non ottengo risultati utili. Vedere questo esempio:problemi con C++ 11-library e g ++ 4.4.7
#include <random>
#include <iostream>
using namespace std;
int main()
{
typedef std::mt19937 Engine;
typedef std::uniform_real<double> Dis1;
typedef std::normal_distribution<double> Dis2;
Engine eng(0);
Dis1 dis1(0, 1);
cout << dis1(eng) << endl; //OUTPUTS 3.49921e+09
Dis2 dis2(0, 1);
cout << dis2(eng) << endl; //STALLS, NO OUTPUT
return 0;
}
posso compilare con g++44 -std=c++0x main.cpp
e mi hanno mostrato quello che ottengo in uscita. Qual è il problema qui?
4.4 è piuttosto vecchio, soprattutto quando si tratta di conformità C++ 11. – PlasmaHH
Qualcosa prima di 4.7 è piuttosto scarso per il supporto C++ 11. –