Problem mit Typedefs in Klassen



  • class Dekorierer
    	{
    	protected:
    		Warrior* dekoriertes                      ; 
    		typedef dmga dekoriertes->dmga            ;
    		typedef dmgg dekoriertes->dmgg            ;
    		typedef dmg dekoriertes->dmg              ;
    		typedef HP dekoriertes->HP                ;
    		typedef HP_max dekoriertes->HP_max        ;
    		typedef armor dekoriertes->armor          ;
    		typedef freq dekoriertes->freq            ;
    		typedef radius dekoriertes->radius        ;
    		typedef fast dekoriertes->fast            ;
    		typedef see dekoriertes->see              ;
    		typedef flying dekoriertes->flying        ;
    		typedef give_exp dekoriertes->give_exp    ;
    		typedef now_exp dekoriertes->now_exp      ;
    		typedef needed_exp dekoriertes->needed_exp;
    		typedef level dekoriertes->level          ;
    		typedef Art dekoriertes->Art              ;
    		typedef Rasse dekoriertes->Rasse          ; 
    		typedef mana dekoriertes->mana            ; 
    	public:
    		inline Dekorierer(){}
    		virtual ~Dekorierer(){}
    
    		inline void setdmga(int ndmga);
    		inline void setdmgg(int ndmgg);
    		inline void setdmg(int ndmg);
    		inline void setHP(int nHP);
    		inline void setHP_max(int nHP_max);
    		inline void setmana(int nmana);
    		inline void setarmor(int narmor);
    		inline void setfast(int nfast);
    		inline void setsee(int nsee);
    		inline void setfreq(int nfreq);
    		inline void setradius(int nradius);
    		inline void setflying(bool nflying);
    		inline void setgive_exp(int ngive_exp);
    		inline void setnow_exp(int nnow_exp);
    		inline void setneeded_exp(int nneeded_exp);
    		inline void setlevel(int nlevel);
    		inline void setbeing(special::race nRasse, special::type nArt);
    
    		inline int getdmga() const {return(dmga);} 
    		inline int getdmgg() const {return(dmgg);}
    		inline int getdmg() const {return(dmg);}
    		inline int getHP() const {return(HP);}
    		inline int getHP_max() const {return(HP_max);}
    		inline int getmana() const {return(mana);}
    		inline int getarmor() const {return(armor);}
    		inline int getfast() const {return(fast);}
    		inline int getsee() const {return(see);}
    		inline int getfreq() const {return(freq);}
    		inline int getradius() const {return(radius);}
    		inline bool getflying() const {return(flying);}
    		inline special::type getArt() const {return(Art);}
    		inline special::race getRasse() const {return(Rasse);}
    		inline int getgive_exp() const {return(give_exp);}
    		inline int getnow_exp() const {return(now_exp);}
    		inline int getneeded_exp() const {return(needed_exp);}
    		inline int getlevel() const {return(level);}
    	};
    

    Ich bekomm für jedes Typedef 5 Fehler:

    error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'dekoriertes'
    error C2143: Syntaxfehler : Fehlendes ';' vor '->'
    error C2501: 'dekoriertes' : Fehlende Speicherklasse oder Typbezeichner
    error C2059: Syntaxfehler : '->'
    error C2238: Unerwartete(s) Token vor ';'
    

    Was ist falsch??

    mfg
    Glamdring



  • Ich würde mal sagen er kennt Warrior* nicht.
    Sicher das das in der betreffenden Datei bekannt ist?
    Der Rest sollten bloß Folgefehler sein.



  • Ich glaube du hast typedef falsch verstanden. Man kann damit keine Aliase auf andere Variablen bilden, sondern nur auf Typen.

    In deinem Fall müsstest du das über Referenzen machen.


Anmelden zum Antworten