problemm mit einen konstruktor



  • Hallo mein problemm ligt beim konstruktor der klasse Cartoon, wobei kartton so auschaut.

    class Cartoon
    {
    .
    .
    .
    	bool itsOut;
    
    	//Ena gramma pou simbolizh to Cartoon zwo
    	// ************************************************
    	char Animmal;
    
    	//Kourasi zwou
    	// ************************************************
    	Strain itsStrain;//Problemm
    
    	//Dromos pou perpatise
    	List<Pos> WAY;//Problemm
    };
    

    Ich kann einfach nicht die classen Strain und List<Pos> (pos ist short) intilisieren beim konstruktor der klasse cartoon.

    Cartoon::Cartoon(char *MessegeIn,char *EndMessegeIn,Pos InX,Pos InY,unsigned short MaxStrain,char Animmal):List<Pos>(),Strain(MaxStrain,ImfStrain,MaxStrain,DXStrain,Move),Animmal(Animmal),itsOut(false),Xaxis(InX),Yaxis(InY)
    {
    		//Dhlosh Metablhton
    
    			//Kurio Programma
    
    	this->SetMessege(MessegeIn);
    	this->SetEndMessege(EndMessegeIn);
    	this->InsertList(InX,InY);
    	SetRand();
    }
    

    Die konstruktoren der klasse List ist

    // KopyKonstruktor
    	// *****************************************
    	List(void):LIST(NULL){};
    

    und von Strain

    class Strain
    {
    public:
    	//Konstruktor
    	// *************************************************
    	Strain(unsigned short int InCurrentStrain,unsigned short int InMinStrain,unsigned short int InMaxStrain,unsigned short int InDStrain,ST InStatus):CurrentStrain(InCurrentStrain),MinStrain(InMinStrain),MaxStrain(InMaxStrain),DStrain(InDStrain),Status(InStatus){};
    

    bekomme folgenden compilerfehler
    (346) : error C2512: 'Strain' : no appropriate default constructor available
    (346) : error C2614: 'Cartoon' : illegal member initialization: 'Strain' is not a base or member
    346) : error C2614: 'Cartoon' : illegal member initialization: 'List<short>' is not a base or member
    (355) : error C2039: 'List' : is not a member of 'List<short>'

    Was kann ich machen 😞



  • Animmal(Animmal) <- ist schonmal nicht zu empfehlen, würde mir an deiner stelle für membervariablen ne namensgebung ausdenken

    List<Pos>() <- was soll das werden? versteh ich net ganz

    und du musst schon von deiner instanz den konstruktor aufrufen, also itsStrain(....) und nicht Strain(...)

    selbiges gilt für das List<Pos> zeugs



  • // KopyKonstruktor 
        // ***************************************** 
        List(void):LIST(NULL){};
    

    und das is niemals ein copy-constructor.

    //Problemm

    wenn das deutsch sein soll, is das falsch^^

    SetMessege(MessegeIn);
    

    hier das selbe nur in Englisch^^



  • tomf schrieb:

    Animmal(Animmal) <- ist schonmal nicht zu empfehlen, würde mir an deiner stelle für membervariablen ne namensgebung ausdenken

    Wieso? Ich finde das völlig in Ordnung in einer Konstruktor-Initialisierung.



  • otze schrieb:

    wenn das deutsch sein soll, is das falsch^^

    SetMessege(MessegeIn);
    

    hier das selbe nur in Englisch^^

    Es gab da mal einen schönen Spruch, mit einem Glashaus und Steinen... 🙄


Anmelden zum Antworten