2013-04-12 58 views
5

我正在使用GCC版本4.4.7的服务器上工作,而且我不得不使用这个版本。我想利用C++ 0x的<random>库,但我读here,在这个版本uniform_real_distribution被称为uniform_real。当我尝试调用此函数并normal_distribution时,我没有得到有用的输出。看到这个例子:C++ 11-library和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; 
} 

我编译g++44 -std=c++0x main.cpp和我已经证明我得到什么输出。这里有什么问题?

+2

4.4是相当古老的,特别是当涉及到C++ 11一致性时。 – PlasmaHH

+0

对于C++ 11的支持,4.7之前的任何东西都很稀少。 –

回答