Ich habe eine Funktion, die eine Zeichenfolge in zwei Zeichenfolgen analysiert. In C# würde ich es wie folgt erklären:In C++/CLI, wie deklariere ich und rufe eine Funktion mit einem 'out' Parameter auf?
void ParseQuery(string toParse, out string search, out string sort)
{
...
}
und ich es so nennen würde:
string searchOutput, sortOutput;
ParseQuery(userInput, out searchOutput, out sortOutput);
Das aktuelle Projekt hat in C++/CLI zu tun. Ich habe versucht,
using System::Runtime::InteropServices;
...
void ParseQuery(String^toParse, [Out] String^ search, [Out] String^ sort)
{
...
}
aber wenn ich nenne es wie folgt aus:
String^searchOutput,^sortOutput;
ParseQuery(userInput, [Out] searchOutput, [Out] sortOutput);
ich einen Compiler-Fehler, und wenn ich es so nennen:
String^searchOutput,^sortOutput;
ParseQuery(userInput, searchOutput, sortOutput);
dann bekomme ich ein Fehler zur Laufzeit. Wie soll ich meine Funktion deklarieren und aufrufen?
Ich denke, dass sollte 'Namespace verwenden System :: Runtime :: InteropServices;' anstelle von 'mit System :: Runtime :: InteropServices;'. – teeks99