Typumwandlung



  • Hi,
    Ich hab in einer Klasse folgende Konstruktoren:

    value();
    value(const double v);
    value(const rational& v);
    value(const int v);
    value(const long v);
    value(const value& v);
    

    Jetzt hab ich ein problem, bei dem aufruf der Funktion:

    value operator+(const value& ls, const value& rs);
    

    Bei dem Aufruf:

    operator+(c, 3);
    

    ist alles OK, Probleme treten auf bei:

    c+3;
    

    Der Compiler gibt folgende Fehlermeldung:

    '+' : 2 Ueberladungen haben aehnliche Konvertierungen

    Gruß Mike



  • Ich hab den "Fehler" gefunden...

    Der compiler hat das c in float konvertiert, und dann keine passende funktion gefunden.....



  • Hallo,
    ohne den Typ von c zu kennen, hätte man die Frage sowieso nicht beantworten können. Nur so als kleiner Tipp für's nächste Mal.


Anmelden zum Antworten