Artery Geschrieben 13. Februar 2011 Geschrieben 13. Februar 2011 Hallo leute, ich habe ein Problem bei einem Programm und zwar: bei dieser schleife: while(abs(res2-res)>0.00001) { res2=res; res = (fa(x+h)-fa(x)) / h; h = h / 10; } kommt die Fehlermeldung: call of overloaded `abs(double)' is ambiguous candidates are: int abs(int) long long int __gnu_cxx::abs(long long int) long int std::abs(long int) was sich explizit auf while(abs(res2-res)>0.00001) bezieht... Wäre dieser blöde Fehler nicht würde alles wunderbar funktionieren manno Hier noch der ganze code... #include <cstdlib> #include <iostream> using namespace std; double fa(double x); double fa2(double x); int main() { cout << "x\tf(x)\tf2(x)" << endl; for(double i = -5;i <= 5; i = i + 0.5) { printf("%.2f\t%.2f\t%lf\n",i,fa(i),fa2(i)); } system("PAUSE"); return EXIT_SUCCESS; } double fa(double x) { return x*x; } double fa2(double x) { double res=0,res2=1,h=0.1; while(abs(res2-res)>0.00001) { res2=res; res = (fa(x+h)-fa(x)) / h; h = h / 10; } return res; } Ich hoffe ihr könnt mir schnell weiterhelfen! MfG Artery
Klotzkopp Geschrieben 13. Februar 2011 Geschrieben 13. Februar 2011 Ich würde sagen, da fehlt #include <cmath> Da sind die std::abs-Überladungen für Fließkommatypen deklariert.
flashpixx Geschrieben 13. Februar 2011 Geschrieben 13. Februar 2011 Ich würde empfehlen, dass Du Dir noch limits - C++ Reference anschaust
Artery Geschrieben 13. Februar 2011 Autor Geschrieben 13. Februar 2011 Omfg so ein doofer flüchtigkeitsfehler... Die Fehleranzeige hatte mich verwirrt, DANKE! flashpixx was bringt mir das bzw. wozu? MfG Artery
flashpixx Geschrieben 13. Februar 2011 Geschrieben 13. Februar 2011 Deine Abbruchbedingung kannst Du passend zu Deinen Datentypen anpassen, im Moment ist der Wert für den Abbruch fest codiert.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden