std::array
प्रकार है:
template<
class T,
std::size_t N
> struct array;
जब आप -1
के साथ दूसरे टेम्पलेट पैरामीटर प्रारंभ, यह परोक्ष एक बहुत बड़े मूल्य में बदल जाती है के रूप में std::size_t
unsigned
(जो सी में गैर कानूनी है ++ के रूप में other answer और इसके द्वारा बताया है निदान किया जाना चाहिए)।
एक और संभावना यह है कि आपके arr
को अनुकूलित किया गया है। आप gcc कमांड लाइन में -fdump-tree-optimized
ध्वज जोड़कर इसकी पुष्टि कर सकते हैं।
आप यह सुनिश्चित करते हैं arr
बाहर अनुकूल नहीं है, मुझे आशा है कि आप following warning मिलना चाहिए:
prog.cpp:5:25: error: size of variable 'arr' is too large
std::array<int, -1> arr;
स्रोत
2016-05-18 04:41:01
कौन सा संकलक आप उपयोग कर रहे:
बजना में आप की उम्मीद त्रुटि संदेश मिलता है? मैंने जीसीसी 5.3.1 का उपयोग किया और मुझे त्रुटि मिली 'चर का आकार' एआर 'बहुत बड़ा है' –