J'ai une fonction qui analyse une chaîne de caractères en deux chaînes. En C#, je voudrais déclarer comme ceci:
void ParseQuery(string toParse, out string search, out string sort)
{
...
}
et je voudrais l'appeler comme ceci:
string searchOutput, sortOutput;
ParseQuery(userInput, out searchOutput, out sortOutput);
Le projet actuel a à faire en C++/CLI. J'ai essayé
using System::Runtime::InteropServices;
...
void ParseQuery(String ^ toParse, [Out] String^ search, [Out] String^ sort)
{
...
}
mais si je l'appelle comme ceci:
String ^ searchOutput, ^ sortOutput;
ParseQuery(userInput, [Out] searchOutput, [Out] sortOutput);
J'obtiens une erreur du compilateur, et si je l'appelle comme ceci:
String ^ searchOutput, ^ sortOutput;
ParseQuery(userInput, searchOutput, sortOutput);
ensuite, j'obtiens une erreur à l'exécution. Comment dois-je déclarer et appeler ma fonction?