मेरे पास एक ऐसा फ़ंक्शन है जो एक स्ट्रिंग को दो तारों में पार करता है। सी # में मैं इसे इस तरह घोषणा करेंगे:सी ++/सीएलआई में, मैं एक 'आउट' पैरामीटर के साथ फ़ंक्शन कैसे घोषित और कॉल करूं?
void ParseQuery(string toParse, out string search, out string sort)
{
...
}
और मैं इसे इस तरह फोन चाहते हैं:
string searchOutput, sortOutput;
ParseQuery(userInput, out searchOutput, out sortOutput);
चालू परियोजना C++/CLI में किया जा सकता है। मैं
using System::Runtime::InteropServices;
...
void ParseQuery(String^toParse, [Out] String^ search, [Out] String^ sort)
{
...
}
की कोशिश की है, लेकिन अगर मैं इसे इस तरह कहते हैं:
String^searchOutput,^sortOutput;
ParseQuery(userInput, [Out] searchOutput, [Out] sortOutput);
मैं एक संकलक त्रुटि मिलती है, और अगर मैं इस तरह इसे कहते: तो
String^searchOutput,^sortOutput;
ParseQuery(userInput, searchOutput, sortOutput);
मैं रनटाइम पर एक त्रुटि। मुझे अपने फ़ंक्शन को कैसे घोषित और कॉल करना चाहिए?
मुझे लगता है कि 'होना नाम स्थान प्रणाली :: रनटाइम :: InteropServices का उपयोग कर करना चाहिए,' 'बजाय सिस्टम :: रनटाइम :: InteropServices उपयोग करते हुए;'। – teeks99