मैं अपने C ++ कंपाइलर को C ++ 11 में अपडेट करने की कोशिश कर रहा हूं। मैंने थोड़ी खोज की है और मैं इस निष्कर्ष पर पहुंचा हूं कि मुझे ध्वज का उपयोग करना है -std=c++0x
या -std=gnu++0x
, लेकिन मुझे झंडे के बारे में बहुत सी बातें नहीं पता हैं। क्या कोई मेरी मदद कर सकता है? (मैं Ubuntu 12.04 का उपयोग कर रहा हूं।)
यहाँ वह त्रुटि है जो मुझे संकलक से तब मिलती है जब मैं एक पुस्तकालय का उपयोग करने का प्रयास करता हूं जो C ++ 11 (अर्थात सरणी) में शामिल है:
#include <array>
#include <iostream>
int main()
{
std::array<int, 3> arr = {2, 3, 5};
...
}
इस फ़ाइल को आगामी ISO C ++ मानक, C ++ 0x के लिए कंपाइलर और लाइब्रेरी समर्थन की आवश्यकता है। यह समर्थन वर्तमान में प्रायोगिक है, और -std = c ++ 0x या -std = gnu ++ 0x बॉयलर विकल्प के साथ सक्षम होना चाहिए।
g++-4.6
डिफ़ॉल्ट रूप से (जो केवल समर्थन करता है -std=c++0x
)
g++
, उदा g++ -std=c++0x _filename_ && ./a.out
।
-std=c++11
इसके बजाय उपयोग करना होगा। शायद दोनों की अनुमति है, हालांकि।