Probleme Instanz einer Klasse in einen vector oder eine ArrayList zu befördern
-
Hallo allerseits,
ich bastle gerade an einer WinForms-Anwendung mit VC++ Express 2008. Dabei bin ich jetzt auf folgendes Problem gestossen:
Ich habe eine verwaltete Klasse erstellt (CParameter). Eine einzelne Instanz lässt sich ohne Probleme erstellen und benutzen.
Jetzt möchte ich beliebig viele Instanzen von CParameter in einen vector oder meinetwegen auch eine ArrayList stecken.
private: void initializeParameterVector() { vector<CParameter^> parameterVector; CParameter^ prm(); parameterVector.push_back(prm); }
Wenn ich das jedoch probiere, erhalte ich jedoch eine Fehlermeldung:
error C2664: 'std::vector<_Ty>::push_back': Konvertierung des Parameters 1 von 'CParameter ^(__clrcall *)(void)' in 'CParameter ^const &' nicht möglich
Ich habe schon probiert prm explizit als System::Object^ zu casten, leider auch ohne Erfolg. Bei der ArrayList tritt der selbe Fehler auf.
Kann mir jemand helfen?
Danke schonmal,
PaRoX
-
Nimm doch einfach System::Collections::Generic::List<CParameter^>.
std::vector ist aus der nativen Welt und somit nicht geeignet.
Simon
-
Vielen Dank für den Tip. Ich hatte ja zuerst ArrayList ausprobiert, aber die wollte auch nicht so richtig. Mit List funktioniert es einwandfrei.
Viele Grüße,
Raphael