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.


Anmelden zum Antworten