2012-05-04 13 views
9

हाय :) मैं एनएसएसटींग्स ​​का एक स्थिर सी-एरे बनाने की कोशिश कर रहा हूं।उद्देश्य-सी स्थैतिक इनलाइन एनएसएसटींग सरणी

यह है कि मैं क्या करने की कोशिश की है:

static NSString** polygonNames = {@"Radical Isotope", @"Point", @"Line", @"Triangle", @"Square", @"Pentagon", @"Hextagon", @"Heptagon", @"Octagon", @"Nonagon", @"Decagon", @"Hendecagon", @"Dodecagon", @"Tridecagon", @"Tetradecagon", @"Pentadecagon", @"Hexadecagon", @"Heptadecagon", @"Octadecagon", @"Enneadecagon"}; 

कोई संकलक त्रुटियों, लेकिन मैं 41 चेतावनी, जिसके बाद तीनों में से एक हैं हो रही है:

"warning: initialization from incompatible pointer type" 
"warning: excess elements in scalar initializer" 
"warning: (near initialization for 'polygonNames')" 

कौन सा मुझे विश्वास करने के लिए जब मैं इस वर्ग का उपयोग करता हूं, तो मुझे बहुत सारे सिगरबर्ट या कुछ अन्य मेमोरी एक्सेस त्रुटि के साथ प्रस्तुत किया जा रहा है ...

एनएसएसट्रिंग्स की स्थैतिक सरणी शुरू करने का उचित तरीका क्या है (अधिमानतः इनलाइन, और मैं सी-एरे का उपयोग करना चाहता हूं, एनएसएआरआरएएस नहीं)?

उत्तर

29

इस प्रयास करें:

static NSString *polygonNames[] = { @"Radical Isotope", @"Point", @"Line", /* etc */ }; 
+1

आह धन्यवाद। मुझे अपने प्रोग्रामिंग प्रतिमान वर्ग में भी उपयोग किया जाता है, जिसमें शून्य * से int ** आदि को परिवर्तित करना होता है ... –

+0

बिल्डिंग चेतावनी-कम अब, धन्यवाद! : डी –

संबंधित मुद्दे