Delen via


Compilerwaarschuwing (niveau 3) C4738

het opslaan van 32-bits float resulteert in geheugen, mogelijk verlies van prestaties

Opmerkingen

C4738 waarschuwt dat het resultaat van een toewijzing, cast, doorgegeven argument of andere bewerking mogelijk moet worden afgerond of dat de bewerking niet meer is geregistreerd en dat er geheugen nodig is (morsen). Dit kan leiden tot prestatieverlies.

U kunt deze waarschuwing oplossen en afronding voorkomen door te compileren met /fp:fast of te gebruiken double in plaats van float.

Om deze waarschuwing op te lossen en te voorkomen dat er geen registers meer zijn, wijzigt u de volgorde van de berekening en wijzigt u het gebruik van inlijning

Deze waarschuwing is standaard uitgeschakeld. Zie Compilerwaarschuwingen die standaard zijn uitgeschakeld voor meer informatie.

Example

In het volgende voorbeeld wordt C4738 gegenereerd:

// C4738.cpp
// compile with: /c /fp:precise /O2 /W3
// processor: x86
#include <stdio.h>

#pragma warning(default : 4738)

float func(float f)
{
    return f;
}

int main()
{
    extern float f, f1, f2;
    double d = 0.0;

    f1 = func(d);
    f2 = (float) d;
    f = f1 + f2;   // C4738
    printf_s("%f\n", f);
}