2012-10-29 19 views
7

मैं हैडर यादृच्छिक में default_random_engine और uniform_real_distribution का उपयोग कर कुछ यादृच्छिक डबल संख्या उत्पन्न करना चाहते हल नहीं किया जा सकता है।प्रकार 'std :: default_random_engine'

मैं C/C++ & MinGW के लिए ग्रहण का उपयोग अपने प्रोजेक्ट बनाने के लिए।

  • ग्रहण संस्करण: 4.2.1
  • ग्रहण CDT C/C++ विकास उपकरण संस्करण: 8.1.1.201209170703
  • ग्रहण CDT जीसीसी पार संकलक समर्थन संस्करण: 1.1.0.201209170703
  • MinGW संस्करण: 4.6.2 (का उपयोग कर चेक किया गया "जीसीसी -v")

जब मैं संपादक में std :: default_random_engine टाइप करें, ग्रहण मुझे संकेत देता है कि "प्रकार 'std :: default_random_engine' हल नहीं किया जा सकता है"।

मैं पहले से ही अपने प्रोजेक्ट सी ++ 11 सुविधाओं

तो मैं एक सूची प्रारंभ वेक्टर लिखा था और के समर्थन का परीक्षण करने के लिए एक सीमा का समर्थन करने के लिए कॉन्फ़िगर किया है सी ++ 11, कोड काम ठीक।

vector<int> ivec = {1, 2, 3}; 
    for (int i : ivec) 
     cout << i << " "; 
    cout << endl; 

क्या "std :: default_random_engine" के साथ गलत क्या है, क्या मैं इसे ठीक करने के लिए क्या करना चाहिए?

+2

ऐसा नहीं है कि libstdC++ कि आपके संकलक के साथ आता है नए का समर्थन नहीं करता संभव है मानक लाइब्रेरी विशेषताएं, लेकिन आपका कंपाइलर नई भाषा सुविधाओं का समर्थन करता है। –

+0

std :: tr1 :: default_random_engine –

+1

आप _do_ '' शामिल करें? इसके अलावा, भले ही ग्रहण इसे पहचान न सके, फिर भी यह ठीक तरह से निर्माण करता है? –

उत्तर

6

अद्यतन: यह एक लंबा समय रहा है क्योंकि मैंने मूल उत्तर पोस्ट किया है और यह पुराना हो गया है। मैं दोबारा जांच आज (मार्च 15, 2014): ग्रहण केपलर (आईडी 20,130,614-0,229 बिल्ड) यह

  • के लिए पर्याप्त है पर उसके बाद परियोजना के तहत जोड़ने> गुण> C/C++ का निर्माण> सेटिंग में उपकरण सेटिंग टैब जीसीसी सी ++ संकलक> विविध-std=c++11 झंडा,

  • तो विंडो के तहत> वरीयताएँ> C/C++>डिस्कवरी टैब पर निर्माण> सेटिंग चुना है CDT जीसीसी में निर्मित संकलक सेटिंग्स और कमान को -std=c++11 फ्लैग जोड़ने संकलक चश्मा मिलता है। मेरी मशीन पर यह परिवर्तन के बाद इस तरह दिखता है:

    ${COMMAND} -E -P -v -dD -std=c++11 "${INPUTS}"

  • स्वच्छ और दोनों अपनी परियोजना और अपने सूचकांक (परियोजना> C/C++ सूचकांक> पुनर्निर्माण) ग्रहण त्रुटि कैश करने के लिए जाता है के रूप में फिर से बनाना संदेश और उन्हें दिखाने के भले ही वे सेटिंग्स परिवर्तित करने के बाद चले गए हैं।

यह मेरी मशीन पर निश्चित रूप से काम करता है। यदि यह आपके पर नहीं है, तो आप इसे एक शॉट देना चाहेंगे: C++11 full support on Eclipse हालांकि मुझे इस दृष्टिकोण की शुद्धता के बारे में निश्चित रूप से यकीन नहीं है और न ही यह मेरी मशीन पर करना आवश्यक था। 7 मार्च, 2014 तक उपयोगकर्ता claim कि इससे उनकी सहायता हुई, जबकि उपरोक्त दृष्टिकोण नहीं था।


मूल पोस्ट, अब पुराना:

यह आईडीई से एक झूठी त्रुटि हो रहा है। परियोजना संपत्तियों पर

क्लिक करें, तो C/C++ सामान्य> कोड विश्लेषण> सिंटेक्स और सिमेंटिक त्रुटियाँ और का चयन रद्द प्रकार हल नहीं किया जा सकता है।

मुझे अपनी खुद की परियोजनाओं में अमान्य तर्क, अमान्य अधिभार, प्रतीक हल नहीं किया गया आदि जैसे अन्य सिंटेक्स और अर्थपूर्ण त्रुटियों का एक समूह भी अक्षम करना पड़ा। ये फर्जी त्रुटियां Codan से आती हैं।

(आप ही आपके परिभाषित करता है/पूर्वप्रक्रमक मैक्रो, यकीन है कि यह एक के बारे में नहीं करने के लिए __GXX_EXPERIMENTAL_CXX0X__ जोड़ने के लिए हो सकता है।)

+0

और क्या इससे मदद मिली? क्या ग्रहण ग्रहण के बाहर एक ही कोड संकलित करता है? – Ali

+0

बहुत बहुत धन्यवाद! और देर से आपके उत्तर का जवाब देने के लिए खेद है। बहुत शुरुआत में मैंने सोचा कि अगर कुछ तरीके हल्के हैं, लेकिन हाल ही में मैं कुछ और त्रुटियों को पूरा करता हूं और इसलिए जैसा आपने सुझाव दिया है। – zyy7259

+0

क्षमा करें मैं इस वेबसाइट का उपयोग कर सीख रहा हूँ। और मैं अपनी टिप्पणी संपादित करना चाहता हूं bu ने कहा "टिप्पणियां केवल 5 मिनट के लिए संपादित की जा सकती हैं"। मुझे आपका जवाब नहीं मिला और मैंने अपनी पहली टिप्पणी हटा दी। यह बहुत मदद करता है। अब त्रुटियां गायब हो गईं। मैंने ग्रहण – zyy7259

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