Den R6002 C run - time error genereras när ett C-program kompileras med en Microsoft kompilatorn försöker utföra en åtgärd som kräver flyttal stöd när flyttal biblioteken inte har samband med programmet . Den mest sannolika förklaringen är att ingen flyttal koden uttryckligen ingick i koden , och kompilatorn antog att det inte var nödvändigt . Detta kan orsakas av att använda printf med " % f " formatspecifieraren utan att skicka en faktisk flyttal argument . Lägga till en explicit flyttal hänvisning till samtalet är den renaste lösningen , men en annan lösning är möjlig om samtalet inte kan lokaliseras eller fixeras . Instruktioner
1
Sök efter samtal till printf eller scanf ( och relaterade funktioner ) som har en floating- point-format specifikation . " % f " är den mest sannolika specifikation , men du kan också använda " % e , " " % E , " " % g " eller " % G. " Det är möjligt att det finns flaggor , en längd eller en precision specifikation samt . Ett reguljärt uttryck som ska hitta alla förekomster är " % . * [ FeEgG ] . "
2
Ändra funktionsanropet att explicit cast till en flyttal datatyp . Den vanligaste orsaken till att du inte redan har kommer att passera ett flyttal argument är att du frågar printf funktion för att formatera data lagras direkt i en byte array . Detaljerna i säkert utföra gjutna beror till stor del på din specifika tillämpning . För tydlighetens skull , kanske du vill flytta omvandlingen till flyttal till en ny rad .
3
Lägg till en hänvisning till en floating-point variabel om du inte kan hitta eller ändra en printf eller scanf samtal. Detta kommer att tvinga kompilatorn att inkludera de nödvändiga floating-point bibliotek . Om du inte kan hitta den ansvariga ledningen i din egen kod , är det troligt att ett bibliotek som du använder som orsakar felet , och lägga ett flyttal variabel är den enklaste lösningen .