2009-05-07 14 views
5

में ऐरे प्रारंभिकरण मैं आइटमों की एक 1 डी प्रबंधित सरणी घोषित करना और आरंभ करना चाहता हूं। कामयाब सी मेंप्रबंधित सी ++

VdbMethodInfo[] methods = new VdbMethodInfo[] { 
    new VdbMethodInfo("Method1"), 
    new VdbMethodInfo("Method2") 
}; 

मैं लिखने के लिए कोशिश कर रहा हूँ (ठीक है, वास्तव में, मैं एक कार्यक्रम लिख रहा हूँ उत्पन्न) एक ही बात ++ ..:

यदि यह सी # कोड था, मैं इसे इस तरह लिखते थे ।

अब तक मेरे पास है:

    01:

    typedef array<VdbMethodInfo^, 1> MethodArray; 
    // How do I avoid pre-declaring the size of the array up front? 
    MethodArray^ methods = gcnew MethodArray(2); 
    methods[0] = gcnew VdbMethodInfo("Method1"); 
    methods[1] = gcnew VdbMethodInfo("Method2"); 
    

    इस के साथ दो समस्याएं हैं

  1. यह
  2. यह मेरे सरणी सामने के आकार, जो मेरे कोड जनरेटर

के लिए असुविधाजनक है वहाँ प्रबंधित सी ++ में जीसी सरणियों के लिए एक "सरणी प्रारंभ" वाक्य रचना है की घोषणा करने की आवश्यकता है और अधिक वर्बोज़ है? सही वाक्यविन्यास क्या है? क्या इस और अन्य समान प्रश्नों के लिए कोई अच्छा वेब लिंक है?

उत्तर

25

सी ++/सीएलआई सरणी घोषित & वाक्यविन्यास प्रारंभ करना सी # से भिन्न नहीं है। यहाँ एक उदाहरण है ...

array<String^>^ myArray = gcnew array<String^> {"first", "second"}; 
+1

धन्यवाद - मैं वास्तव में क्या देख रहा था! –

+0

परावर्तक के लिए सी ++/सीएलआई डीकंपलर कुछ कारणों से घोषणा में जीसीन्यू और सरणी प्रकार खो रहा था। उस मुद्दे को ठीक करना। धन्यवाद। http://www.sandpapersoftware.com/Main/Reflector.html – jpierson

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