जब तक मैं गलत कर रहा हूँ, यह एक एसटीडी बनाने के लिए संभव हो जाना चाहिए: इन तरीकों से सरणी:का उपयोग std :: प्रारंभ के साथ सरणी को सूचीबद्ध
std::array<std::string, 2> strings = { "a", "b" };
std::array<std::string, 2> strings({ "a", "b" });
और फिर भी, जीसीसी 4.6.1 का उपयोग कर रहा प्राप्त करने में असमर्थ हूँ इनमें से कोई भी काम करने के लिए। कंपाइलर बस कहता है:
expected primary-expression before ',' token
और अभी तक प्रारंभिक सूचियां std :: vector के साथ ठीक काम करती हैं। तो यह कौन है? क्या मुझे लगता है कि std :: array को प्रारंभिक सूचियों को स्वीकार करना चाहिए, या जीएनयू मानक सी ++ लाइब्रेरी टीम गुम हो गई है?
वह दुर्घटनाग्रस्त clang ... – Dani
मुझे यकीन नहीं है कि यह काम करना चाहिए या नहीं (मैं 0x सामान पर अद्यतित नहीं हूं) लेकिन, बग या नहीं, मुझे लगता है कि ऐसा इसलिए है क्योंकि आप 'std का उपयोग कर रहे हैं: स्ट्रिंग अक्षर के साथ स्ट्रिंग'। क्या आपने स्ट्रिंग अक्षर को 'std :: string()' के साथ लपेटने का प्रयास किया है? –
@ क्रिस: यह मैक ओएसएक्स 10.6 पर जीसीसी 4.6.1 के साथ मेरे लिए काम करता है। आप किस कंपाइलर विकल्प का उपयोग कर रहे हैं? – juanchopanza