कारण आपको त्रुटि मिली है कि आप एम ust कम से कम बाहरी आयाम के लिए सीमा निर्दिष्ट करें; अर्थात
int jagged[][3] = {{0,1},{1,2,3}};
आप नहीं हो सकता दांतेदार [0] पूर्णांक और दांतेदार [1] int की एक 3-तत्व वाली सरणी होना का एक 2-तत्व वाली सरणी होना; एक एन-एलिमेंट सरणी एक एम-एलिमेंट सरणी (जहां एन! = एम) से एक अलग प्रकार है, और सरणी के सभी तत्व एक ही प्रकार के होना चाहिए।
क्या आप कर सकते हैं जो दूसरों ने ऊपर सुझाव दिया है और int के लिए पॉइंटर्स की सरणी के रूप में जंजीर बनाते हैं; इस तरह प्रत्येक तत्व इंगित कर सकते हैं विभिन्न आकारों की सरणियों पूर्णांक:
int row0[] = {0,1};
int row1[] = {1,2,3};
int *jagged[] = {row0, row1};
हालांकि row0 और ROW1 विभिन्न प्रकार (int की 2-तत्व बनाम 3-तत्व सरणियों) प्रारंभकर्ता वे कर रहे हैं के संदर्भ में, कर रहे हैं दोनों अंतर्निहित रूप से एक ही प्रकार (int *) में परिवर्तित हो गए।
स्रोत
2009-07-17 15:28:40
एआरएम आप एक वेक्टर में एक पॉइंटर को दबा रहे हैं जो पॉइंटर्स नहीं रखता है ... – Goz