Der R6002 C run-time Fehler wird generiert, wenn ein C -Programm mit einer Microsoft -Compiler kompiliert versucht, eine Operation, die Floating-Point -Unterstützung erfordert , wenn Gleitkomma- Bibliotheken nicht mit dem Programm in Verbindung gebracht worden durchzuführen. Die wahrscheinlichste Erklärung ist, dass keine Floating-Point- Code wurde explizit im Code enthalten ist, und der Compiler davon ausgegangen, es war nicht notwendig. Dies kann durch die mit printf "% f" Formatangabe , ohne dass eine tatsächliche Gleitkomma- Argument verursacht werden. Hinzufügen eines expliziten Fließkomma- Referenz auf den Aufruf ist die sauberste Lösung , aber eine andere Abhilfe ist möglich, wenn der Anruf nicht gefunden werden oder fixiert werden. Anleitung
1
Suche für Anrufe in printf oder scanf ( und verwandte Funktionen ), die eine Floating-Point- Format-Spezifikation haben . "% f" ist die wahrscheinlichste Spezifikation , aber man kann auch verwendet haben " % e ", " % E ", " % g " oder "% G. " Es ist möglich, dass es Fahnen, eine Länge oder ein Präzisions- Spezifikation sowie . Ein regulärer Ausdruck , dass alle Instanzen finden sollte, ist "% . * [ FeEgG ] . "
2
Ändern Sie die Funktion aufrufen, um explizit auf eine Gleitkomma- Datentyp umgewandelt . Der häufigste Grund , dass Sie nicht bereits durchfahren eine Gleitkomma- Argument ist, dass du fragst die printf Funktion zum Formatieren von Daten direkt in ein Byte-Array gespeichert. Die Einzelheiten der Durchführung der Besetzung sicher wird weitgehend davon abhängen Ihre konkrete Umsetzung. Aus Gründen der Klarheit , möchten Sie vielleicht , um die Konvertierung zu Floating-Point bewegen, um eine neue Zeile.
3
Fügen Sie einen Verweis auf eine Gleitkomma- Variable, wenn Sie nicht finden können oder zu modifizieren ein printf oder scanf Anruf . Dies zwingt den Compiler , um die notwendigen Gleitkomma- Bibliotheken enthalten . Wenn Sie nicht finden können die verantwortliche Leitung in Ihren eigenen Code , ist es wahrscheinlich, dass eine Bibliothek, die Sie verwenden den Fehler verursacht , und das Hinzufügen von ein Gleitkomma- Variable ist die einfachste Workaround.