Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 3) C4738

ukládání do paměti, možnou ztrátu výkonu 32-bit plovoucí výsledek

C4738 upozorňuje, že argument předaný výsledek přiřazení, nádech, nebo jiné operace může být nutné být zaokrouhlena nebo že operace není dostatek registry a potřebné k použití paměti (přesahu).To může způsobit ztrátu výkonu.

Vyřešit toto upozornění a zabránit zaokrouhlování, kompilace s /fp:fast nebo doublemísto s floats.

Vyřešit toto upozornění a zabránit spuštění z registrů, změnit pořadí výpočtu a upravit vaše používání vkládání

Toto upozornění je vypnuto ve výchozím nastavení.Další informace naleznete v tématu Kompilátoru upozornění, že jsou vypnuta ve výchozím nastavení.

Příklad

Následující ukázka generuje upozornění C4738:

// 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);
}