Den R6002 C run -time feil genereres når et C-program kompilert med Microsoft kompilatoren forsøker å utføre en operasjon som krever flyttall støtte når flyttall bibliotekene ikke har vært knyttet til programmet. Den mest sannsynlige forklaringen er at ingen flyttall koden ble eksplisitt inkludert i koden din , og kompilatoren antok det var ikke nødvendig . Dette kan være forårsaket ved å bruke printf med " % f " format specifier uten å sende en faktisk flyttall argument. Legge til en eksplisitt flyttall referanse til samtalen er den reneste løsningen , men en annen løsning er mulig hvis samtalen ikke kan lokaliseres eller fikset. Instruksjoner
en
Søk etter samtaler til printf eller scanf (og tilhørende funksjoner ) som har et flyttall format spesifikasjonen. "% f" er den mest sannsynlige spesifikasjonen , men du kan også ha brukt " % e ", " % E ", " % g " eller "% G." Det er mulig at det er flagg , en lengde eller en presisjon spesifikasjonen også. Et regulært uttrykk som bør finne alle forekomster er "% . [ FeEgG ] . "
2
Endre funksjonen kaller å eksplisitt kastet til et flyttall datatype. Den vanligste grunnen til at du ikke vil allerede være bestått et flyttall argument er at du spør printf -funksjonen til å formatere data som er lagret direkte i en byte array. Detaljene i trygt utfører cast vil avhenge i stor grad på konkrete gjennomføringen . For klarhet , kan du ønsker å flytte konvertering til flytende - punkt til en ny linje .
3
Legg en referanse til et flyttall variabel hvis du ikke kan finne eller endre en printf eller scanf samtale. Dette vil tvinge kompilatoren å inkludere de nødvendige flyttall biblioteker. Hvis du ikke finner den ansvarlige linje i din egen kode , er det sannsynlig at et bibliotek du bruker som forårsaker feilen , og legge et flyttall variabelen er den enkleste løsningen .