überladene Funktionen unterscheiden durch rückgabetyp



  • Servus

    kann man in einer Klasse eine überladene Funktion anhand des Rückgabetyps unterscheiden

    res_IGBT CEsw::Interpolate(double Uzk, double Temperatur, double INenn)
    {
    	res_IGBT res;
    	Energie Esw = InterpSchaltenergie(sDataFile.sIGBT.SVT_IGBT,Temperatur,Uzk,INenn);
    
    	res.Eon = Esw.Eon;
    	res.Eoff = Esw.Eoff
    	res.ESum = Esw.ESum;
    
    	return res;
    };
    
    res_DIODE CEsw::Interpolate(double Uzk, double Temperatur, double INenn)
    {
    	res_DIODE res;
    	Energie Esw = InterpSchaltenergie(sDataFile.sIGBT.SVT_IGBT,Temperatur,Uzk,INenn);
    
    	res.Eoff = Esw.Diode_Eoff;
    
    	return res;
    };
    

    D:\test\TResult.h(69) : error C2556: 'struct CEsw::res_DIODE __thiscall CEsw::Interpolate(double,double,double)' : Überladene Funktion unterscheidet sich nur hinsichtlich des Rückgabetyps von 'struct CEsw::res_IGBT __thiscall CEsw::Inte

    kommt als Fehler...



  • Nein, das ist nicht möglich.

    MfG SideWinder



  • Du kannst statt einer Rückgabe auch eine entsprechende Referenz übergeben, dann ist die Überladung auch kein Problem.



  • Man könnte auch Templates verwenden um den Rückgabetyp anzugeben. Allerdings muß man da den Typ beim Aufruf natürlich mit angeben.
    Referenzen wären hier schon das Beste. 🙂


Anmelden zum Antworten