Löschen nicht möglich
-
Hey,
bekomme neuerdings immer die Fehlermeldung:
"error C2262: 'abc': Löschen nicht möglich"
Woran kann das liegen?
Der Fehler tritt bei der Zeile:
System::Array abc
auf.
Mach ich dort was falsch?
Bzw. wie deklariere ich dann unter .NET Framework 1.1 solche Arrays oder auch Listen richtig?Danke schon mal.
Gruß
-
System::Collections::ArrayList^ list = gcnew System::Collections::ArrayList();
-
Danke.
Habe leider noch ein weiteres Problem, welches ich gerade nicht lösen kann.
Habe jetzt wie folgt eine sortierte Liste deklariert:
System::Collections::SortedList* lst = __gc new System::Collections::SortedList();
Diese Deklaration funktioniert soweit auch, allerdings erhalte ich immer eine Fehlermeldung, sobald ich z.B.
lst->Add("abc", 30);
versuche umzusetzen. Ich möchte damit ja lediglich die Liste füllen.
Die Fehlermeldung besagt, dass eine "Konvertierung des Parameters 1 von 'const char[5]' in 'System::Object __gc *' nicht möglich sei.Wo liegt da mein Fehler?
Danke schon mal.
LG
-
Du benutzt nicht C++/CLI, sondern der Vorgänger Managed C++.
Nur als Hinweis: Managed C++ wird nicht mehr weiterentwickelt...
Warum nicht gleich C++/CLI (oder noch besser C#)...Zum Problem:
Probier doch mal so:lst->Add(__gc new System::Sting(L"abc"), 30);
Simon
-
Ja, genau, ich würde wohl auch gerne C++/CLI oder C# nutzen,
allerdings ist mein vorliegendes Projekt mit .NET 1.1/MFC
geschrieben und da bleibt mir glaub ich nicht viel übrig
als Managed C++ zu nutzen, oder?Bei deiner Methode erhalte ich leider eine Fehlermeldung:
"Konvertierung des Parameters 2 von 'int' in 'System::Object __gc ' nicht möglich.
Die Konvertierung eines integrierten bzw. eines
Wertetyps in 'System::Object __gc' erfordert 'boxing'."
-
Ja, dann dasselbe eben noch für den 2. Parameter...
-
lst->Add(__gc new System::String(L"abc"), __gc new System::Int32(30));
So?
-
Weiss nicht... gehts denn??
-
Ne, leider nicht.
"Konvertierung des Parameters 2 von 'int *' in 'System::Object __gc *' nicht möglich.
Ein nicht verwalteter Typ kann nicht in einen verwalteten Typ umgewandelt werden."und
"'__gc new' kann nicht zum Erstellen eins nicht-gc-Typobjekts verwendet werden."
-
System::Collections::SortedList* myList = __gc new System::Collections::SortedList(); System::String* myKey = __gc new System::String(L"myKey"); System::Object* myValue = __box(30); myList->Add(myKey, myValue);
Simon
-
Es scheint so zu funktionieren
Danke!