2013-04-12 4 views
5

के साथ समस्याएं मैं जीसीसी संस्करण 4.4.7 के साथ एक सर्वर पर काम कर रहा हूं, और मुझे दुर्भाग्यवश इस संस्करण के साथ काम करने के लिए मजबूर होना पड़ा। मैं <random> सी ++ 0x की लाइब्रेरी का उपयोग करना चाहता हूं, लेकिन मैंने here पढ़ा है कि इस संस्करण में uniform_real_distribution को uniform_real कहा जाता है। जब मैं इस फ़ंक्शन और normal_distribution पर कॉल करने का प्रयास करता हूं, तो मुझे उपयोगी आउटपुट नहीं मिलता है। यह उदाहरण देखें:सी ++ 11-लाइब्रेरी और जी ++ 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 पुराना है, खासकर जब यह सी ++ 11 अनुरूपता की बात आती है। – PlasmaHH

+0

4.7 से पहले कुछ भी सी ++ 11 समर्थन के लिए काफी स्पैस है। –

उत्तर

4

C++11 support in gcc 4.4 बल्कि स्पैस है।

release notes for gcc 4.5 आगामी आईएसओ सी ++ मानक के लिए

बेहतर प्रयोगात्मक समर्थन, C++ 0x

विशेष रूप से उल्लेख <random> शामिल हैं।

संबंधित मुद्दे