cli::array <unsigned char>
-
Tag Zusammen,
waAAAAAAH !
Ich habe gerade mit Visual C++ .NET 2005 angefangen, und ich fühle mich (nach C++ .NET 2003) wie ein Programmieranfänger.
Oder kurz: Jungs, ich brauch eure Hilfe ! ^^Es fing ja alles so harmlos an ...=)
Am liebsten würde ich nur Daten von einem Socket empfangen (Socket::Receive) und in einem Buffer speichern, das wär dann auch schon alles.
Die Funktionsdeklaration hab ich euch rausgeschrieben, die sieht so aus:int Socket::Receive (cli::array <unsigned char, 1> ^buffer);
Das Problem liegt bei
cli::array <unsigned char, 1> ^buffer
.
Ich hab solch einen Datentyp noch nie gesehen (also eigtl schon, aber dass er seit neuestem so deklariert wird ist mir neu) , ich hab bisher nur in VS .NET 2003 programmiert. OK mir ist natürlich klar, was dabei ungefähr rauskommen soll. Aber wie deklariere ich eine solche lokale (Array-) Variable ?Sry-- ich kenn mich damit noch nicht so gut aus. Das mit dem "^" Operator war ja noch mit Raten rauszubekommen, aber etz beisst's aus ;D.
Helft einem Unwissenden, bitte...Xzibit
-
Wo ist das Problem? Sieh doch cli::array als eine Art Template Klasse für Arrays.
namespace cli { template<typename T, ...> ref class array { }; }
Natürlich liegt die Definition nicht so vor, aber du kannst es gleich behandeln. Nur mit lokal ist nicht...
Arrays wurden und werden bei der CLI immer aufm Heap angelegt...also:cli::array<unsigned char> ^mein_feld = gcnew cli::array<unsigned char> {1, 2, 3}; // oder cli::array<unsigned char> ^mein_feld2 = gcnew cli::array<unsigned char>(79);
-
Oh - ähem - *hüstel* ... war ja doch nicht so schwer ^^
Naja Danke jedenfalls es klappt (wie nicht anders zu erwarten)!Schönen Gruß, Xzibit