उदाहरण के लिए, मैं एक बहुआयामी सरणीके लिए है (ऑटो और ए: ए) व्याकरणिक रूप से सही?
array<array<array<int, 3>, 4>, 5> a;
परिभाषित और मैं पाश यह
for (auto& a : a)
for (auto& a : a)
for (auto& a : a)
a = 1;
है कि व्याकरण में है ना? मैंने वीएस2015 में परीक्षण किया। कोई संकलन त्रुटियां नहीं।
@Resurrection के बराबर है: क्योंकि यह संकलन नहीं है 'ए' की घोषणा में '<' and '>' का मिलान किया गया। इसे ठीक करने के बाद, इसे संकलित करना चाहिए क्योंकि यह कानूनी है (उदाहरण के लिए क्लैंग इसे स्वीकार करता है)। –
@BenVoigt मैंने इसे देखा और सही किया है लेकिन यह अभी भी पुनर्वितरण त्रुटि के साथ VS2015 में संकलित नहीं है। संपादित करें: ठीक है, कभी नहीं, मेरे पास 'ए' नामक एक और चर था। वैसे यह भ्रमित था! – Resurrection