मैंने नवीनतम मिनजीडब्ल्यू (8.1.0) स्थापित किया है और एक्लिप्स नियॉन और फोटॉन के साथ परीक्षण किया है
#include <iostream>
#include <unordered_map>
int main(){
std::unordered_map<int,std::string> dict = {{1,"one"},{2,"two"}};
dict.insert({3,"three"});
for(const auto& p: dict){std::cout << p.first << " = " << p.second << std::endl;}
}
यह ठीक से संकलित करता है, लेकिन insert
विधि लाल रंग में रेखांकित है।
ग्रहण त्रुटि देता है: 'सम्मिलित करें' अस्पष्ट है
ग्रहण अनुक्रमणिका या कुछ अपडेट करने का कोई तरीका है?
संपादित करें:
कॉन्स्ट को तर्क देने से सिंटैक्स त्रुटि दूर हो जाती है
dict.insert(std::pair<const int,std::string>{3,"three"});
संपादित करें 2:
या आप C++11 बोली के साथ MinGW (5.1.0) का उपयोग कर सकते हैं
संपादित करें 3:
एक्लिप्स फोटॉन आर
जीसीसी 7.3.0
संपादित करें 4:
CDT 9.5.5 (19 नवंबर 2018)
ग्रहण 4.6 (नियॉन 2016) अब समर्थित नहीं है। (सीडीटी 9.2)
ग्रहण 4.8 (फोटॉन 2018) अब समर्थित नहीं है। (सीडीटी 9.5)
ग्रहण 4.9 (2019) अब बढ़ रहा है, जिसकी शुरुआत सीडीटी 9.6 से होगी।
1 उत्तर
यह GCC 8 मानक लाइब्रेरी हेडर को प्रभावित करने वाली समस्या है, जिसे एक्लिप्स बग 540957में ट्रैक किया गया है। ए>। यह सीडीटी 9.6 (ग्रहण 2018-12 के हिस्से के रूप में जारी) के लिए तय किया गया था।
अपडेट करें: सीडीटी ९.५.५ के लिए भी बग को ठीक किया गया था, जिसे २०१८-११-१९ को आउट-ऑफ-बैंड रिलीज के लिए योजना बनाई गई है। यदि आप एक्लिप्स फोटॉन या बाद का संस्करण चला रहे हैं, तो Help -> Check for Updates
को इस अपडेट के समाप्त होने के बाद इसे लेना चाहिए।
तब तक का समाधान GCC 7 या इससे पहले के संस्करण का उपयोग करना है।
संबंधित सवाल
नए सवाल
c++
C ++ एक सामान्य-प्रयोजन प्रोग्रामिंग भाषा है। यह मूल रूप से C के विस्तार के रूप में डिज़ाइन किया गया था और इसमें एक समान सिंटैक्स है, लेकिन यह अब पूरी तरह से अलग भाषा है। C ++ कंपाइलर के साथ संकलित कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें। विशिष्ट मानक संशोधन [C ++ 11], [C ++ 14], [C ++ 17], [C ++ 20] या [C ++ 23], आदि से संबंधित प्रश्नों के लिए संस्करण-विशिष्ट टैग का उपयोग करें। ।