Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

  • »Sebastian Müller« ist der Autor dieses Themas

Beiträge: 369

Wohnort: Freilingen [Rheinland-Pfalz]

Beruf: Schüler

  • Private Nachricht senden

61

09.01.2014, 15:25

Leider kein zugriff auf die Funktion.

cmath kann ich einbinden.

62

09.01.2014, 15:30

Leider kein zugriff auf die Funktion. ist also dein Compilerfehler? Ist es so schwer, genaue Fehlerbeschreibungen abzugeben?
Und remainderf(); wird nicht funktionieren, die Funktion erwartet Parameter.
"Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why." - Anon

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

63

09.01.2014, 15:32

Das kann halt irgendwie nicht sein.
Wenn du alles richtig gemacht hättest, würde es gehen.
Erstelle eine leere Quelldatei und versuche es dort zum Vergleich.

Zitat

die Funktion erwartet Parameter.

Das stimmt, aber dann müsste die Fehlermeldung anders lauten. (Zu wenig Argumente und keine passende Überladung oder so.)

  • »Sebastian Müller« ist der Autor dieses Themas

Beiträge: 369

Wohnort: Freilingen [Rheinland-Pfalz]

Beruf: Schüler

  • Private Nachricht senden

64

09.01.2014, 15:37

Der Compiler kann die Funktion nicht finden.

[Der bezeichner remainder ist nicht definiert]

Ich mache es nochmal in einer lehren Datei.

  • »Sebastian Müller« ist der Autor dieses Themas

Beiträge: 369

Wohnort: Freilingen [Rheinland-Pfalz]

Beruf: Schüler

  • Private Nachricht senden

65

09.01.2014, 15:44

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
#include <cmath>

using namespace std;


void main()
{
remainderf(3.0, 3.0);


}


Es klappt immer noch nicht. In der Dokumentation steht irgendetwas von C++ 11.

66

09.01.2014, 15:48

void main()... Ahhh, meine Augen,...

Welchen Compiler benutzt du, der Code muss funktionieren...
"Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why." - Anon

  • »Sebastian Müller« ist der Autor dieses Themas

Beiträge: 369

Wohnort: Freilingen [Rheinland-Pfalz]

Beruf: Schüler

  • Private Nachricht senden

67

09.01.2014, 15:52

Leider Nein. Es klapt nicht.

Ich benutzte Visual c++ 2010 express Edition

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

68

09.01.2014, 15:53

Ok, dort gibt es die Funktion wohl noch nicht. Ich würde empfehlen, eine aktuelle Version von Visual Studio zu verwenden. Ansonsten musst du eben std::fmod() benutzen...

  • »Sebastian Müller« ist der Autor dieses Themas

Beiträge: 369

Wohnort: Freilingen [Rheinland-Pfalz]

Beruf: Schüler

  • Private Nachricht senden

69

09.01.2014, 16:00

OK. Danke an Alle.

Ich werde nun versuchen das Schwimmen weg zu machen.

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

70

09.01.2014, 16:02

Ich muss auch noch VS10 verwenden. Ich habe dafür aber mal einen Kompatiblitätsheader gebastelt, in der die Funktion nachgerüstet wird.
Hatte ich schon wieder komplett vergessen.

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#if defined(_MSC_VER) && (_MSC_VER <= 1600)
namespace std
{
    float remainder(float Value1, float Value2)
    {
        float Result = fmod(Value1, Value2);
        if ((Result < 0.0f) != (Value1 < 0.0f))
            Result += Value1;
        return Value2 < 0.0f ? -Result : Result;
    }
    double remainder(double Value1, double Value2)
    {
        double Result = fmod(Value1, Value2);
        if ((Result < 0.0f) != (Value1 < 0.0f))
            Result += Value1;
        return Value2 < 0.0f ? -Result : Result;
    }
    long double remainder(long double Value1, long double Value2)
    {
        long double Result = fmod(Value1, Value2);
        if ((Result < 0.0f) != (Value1 < 0.0f))
            Result += Value1;
        return Value2 < 0.0f ? -Result : Result;
    }
}
#endif

EDIT: Implementationsfehler behoben

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Spiele Programmierer« (09.01.2014, 17:49)


Werbeanzeige