Bonjour,

je travail sur Qt et il me retourne l'erreur suivante :

operator.cpp:107: erreur : C2668: 'sqrt'ÿ: appel ambigu … une fonction surcharg‚e
C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\math.h(127): peut ˆtre 'double sqrt(double)'
C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\math.h(541): ou 'float sqrt(float)'
C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\math.h(589): ou 'long double sqrt(long double)'
lors de la tentative de mise en correspondance de la liste des arguments '(int)'

le code étant le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Constante* Sqrt::apply(const Constante& c1){
       Constante* result;
        switch(c1.getType()){
                case Constante::INTEGER:
        result = new Real(std::sqrt(static_cast<const Integer&>(c1).getVal()));
                break;
                case Constante::RATIONNAL:
        result = new Real(sqrt(static_cast<const Fraction&>(c1).getNum())/sqrt(static_cast<const Fraction&>(c1).getNum()));
                break;
                case Constante::REAL:
        result = new Real(sqrt(static_cast<const Real&>(c1).getVal()));
                break;
        }
       return result;
}
Auriez vous une idée ?