Anfängerproblem mit generischer Liste
-
Hallo und schönen guten Tag.
Ich habe da folgendes Problem.
Ich habe eine Klasse "Fahrer" die wie folgt aussieht:
#include <string> #include "Fahrer.h" #include "stdafx.h" using namespace std; using namespace System; void Fahrer() { int* Fahrer_ID = 0; char* Ort = ""; char* Name = ""; char* Vorname = ""; char* Geburtsjahr = ""; int* Slalom_ID = 0; int* Klassen_ID = 0; int* Vereins_ID = 0; } void setFahrer_ID(int* Fahrer_ID); int* getFahrer_ID(); void setOrt(char* Ort); char* getOrt(); void setSlalom_ID(int* Slalom_ID); int* getSlalom_ID(); void setKlassen_ID(int* Klassen_ID); int* getKlassen_ID(); void setVereins_ID(int* Vereins_ID); int* getVereins_ID(); void setName(char* Name); char* getName(); void setVorname(char* Vorname); char* getVorname(); void setGeburtsjahr(char Geburtsjahr); char* getGeburtsjahr();
Jetzt benötige ich noch eine Klasse, für eine Liste von Fahrern.
Mein erster Versuch sieht wie folgt aus: (Fahrer_PL.h)#pragma once #include <string> #include "Fahrer.h" namespace Zeitmessung { using namespace std; using namespace System; using namespace System::Collections::Generic; public class Fahrer_Pl:Fahrer { private: Fahrer* myfahrer; public: Fahrer_Pl(); ~Fahrer_Pl(); private: //List<Fahrer^>^ mylist = gcnew List<Fahrer^>(); }; }
Fahrer_PL.cpp
#include <string> #include "Fahrer_Pl.h" #include "Fahrer.h" #include "stdafx.h" using namespace std; using namespace System; using namespace System::Collections::Generic; void Fahrer_Pl() { }
Soweit ich dass weiß, kann ich der Liste eigene Datentypen übergeben.
z.B. List<Fahrer>
Aber sobald ich das in meinem Code schreibe, kommen 57 Fehler.
Zwei davon lauten wie folgt:
Fehler 57 error C2864: "Zeitmessung::Fahrer_Pl::mylist": Nur statische konstante integrale Datenmember können innerhalb einer Klasse initialisiert werden. c:\users\siegfried szimkus\documents\visual studio 2010\projects\zeitmessung\zeitmessung\Fahrer_Pl.h 29 1 Zeitmessung
Fehler 2 error C3225: Das generische Typargument für "T" kann nicht "Zeitmessung::Fahrer *" sein, es muss ein Werttyp oder ein Handle für einen Referenztyp sein. c:\users\siegfried szimkus\documents\visual studio 2010\projects\zeitmessung\zeitmessung\Fahrer_Pl.h 29 1 Zeitmessung
Hab ich irgendetwas vergessen??
In dem Projekt habe ich auch schon mit generischen Listen gearbeitet, in denen
ich eigene UserControls als Items habe. Da geht es.
Bitte um Hilfe.
Danke.
-
Hallo,
warum verwendest du C++/CLI? Benutze entweder C++ (und deren STL Klassen, z.B. std::vector<T>) oder aber für WinForms C# (s.a. die Beiträge unter http://www.c-plusplus.net/forum/314540)
-
Um noch etwas dazuzusetzen: Du solltest erst C++ und C# lernen, bevor (und falls) du dich mit dem Zwitterwesen C++/CLI auseinandersetzt.