c++ - Convert array<String^>^ to std::vector<std::string> -
मैं एक प्रबंधित सरणी & lt; स्ट्रिंग ^ & gt; ^
से std: : वेक्टर & LT; std :: स्ट्रिंग & gt;
। निम्नलिखित कोड संकलित नहीं होता है और मुझे पता नहीं क्यों अजीब बात है, अगर मैं उदाहरण के लिए एक इंट का उपयोग करता हूं तो यह ठीक काम करता है। पहले से धन्यवाद:
std :: vector & lt; std :: string & gt; कनवर्टऑन मैनेजेटेड (सरणी & lt; स्ट्रिंग ^ & gt; ^ ar) {सिस्टम :: IntPtr; सिस्टम :: रनटाइम :: इंटरऑप सर्विसेज :: मार्शल का उपयोग कर; std :: वेक्टर & LT; std :: स्ट्रिंग & gt; वेक्टर (AR- & gt; लंबाई); मार्शल :: कॉपी (एआर, 0, आईटीपीटीआर (& amp; वेक्टर [0]), आर-> gt; लंबाई;); वापसी वेक्टर; }
मार्शल :: कॉपी
का कोई अधिभार नहीं है स्ट्रिंग पैरामीटर के सरणी के साथ।
सरणी तत्व पर फेरबदल करना और एक-एक-एक काम को परिवर्तित करना।
#include & lt; msclr / marshal_cppstd.h & gt; std :: वेक्टर & LT; std :: स्ट्रिंग & gt; कनवर्टऑन मैनेजेटेड (सरणी & lt; स्ट्रिंग ^ & gt; ^ ar) {std :: vector & lt; std :: string & gt; वेक्टर (AR- & gt; लंबाई); के लिए (int i = 0; i & lt; ar-> gt; लंबाई; ++ i) {ऑटो एस = आर [i]; वेक्टर [i] = msclr :: इंटरॉप :: मार्शल_आस & lt; std :: string & gt; (एस); } वापसी वेक्टर; }
Comments
Post a Comment