Probleme mit der round fkt in math.h



  • Hallo erstmal an alle
    da ich leider wenig bis garkeine ahnung habe vom programmieren komme ich mit manchen sachen noch nicht klar, muss es für das studium aber.(C-Programmieren, NICHT c++)
    eine übungsaufgabe lautet ein programm zum runden zu schreiben mit der dround.h :
    double dround(double x, int precision);

    nun habe ich etwas nachgelesen und das hier entdeckt:

    #include <math.h>

    double round(double zahl,int stellen)
    {
    double order=pow(10.0,stellen);
    return (int)(zahl*order+(zahl>0?0.5:-0.5))/order;
    };

    MEIN PROBLEM IST:
    Der Compiler meckert und sagt die funktion "round":

    [Linker Fehler] Unresolved external '_round' referenced from ...

    auf einigen englischen seiten stand das die round funktion in math.h nicht funktioniert oder soetwas, wie bekomme ich das hin die funktion einzubinden ?
    bzw ist das überhaupt möglich ? oder muss ich mir selber eine schreiben ?
    ich benutze Borland 6.0

    danke im vorraus schonmal



  • nur mal ne frage, wozu ist denn der Strichpunkt nach der Funktion?

    mfg
    Tom



  • denke nicht das der was zu sagen hat



  • was passiert denn wenn du ihn wegnimmst und dann compilierst?

    mfg
    Tom

    PS: die Fkt double round ist doch von dir, oder? was ist denn wenn du sie mal umbenennst? außerdem solltest du schon ein double zurückgeben und nicht ein int.



  • Hallo,

    Er gibt doch ein double zurück. Das Semikolon hat hier auch nichts mit dem Fehler zu tun.
    Wir wissen aber nicht wo die Funktion deklariert bzw. definiert wurde.
    Nimm doch einfach mal die oben gepostete Funktion und bind sie in dein Programm ein (am Besten komplett in eine Headerdatei).
    Ein unresolved external bedeutet ja eigentlich nur das die Funktion zwar deklariert aber nicht oder falsch definiert oder vielleicht auch garnicht mitgelinkt wurde.


Anmelden zum Antworten