Kompilatorvarning (nivå 1) C4305

"konvertering": trunkering från "type1" till "type2"

Anmärkningar

Den här varningen utfärdas när ett värde konverteras till en mindre typ i en initiering eller som ett konstruktorargument, vilket resulterar i förlust av information.

Example

I det här exemplet visas två sätt att se den här varningen:

// C4305.cpp
// Compile by using: cl /EHsc /W4 C4305.cpp

struct item
{
    item(float) {}
};

int main()
{
    float f = 2.71828;          // C4305 'initializing'
    item i(3.14159);            // C4305 'argument'
    return static_cast<int>(f);
}

Åtgärda problemet genom att initiera med ett värde av rätt typ eller använd en explicit typkonvertering till rätt typ. Använd till exempel en float literal som 2.71828f i stället för en double (standardtypen för flyttalsliteraler) för att initiera en float variabel eller för att skicka till en konstruktor som tar ett float argument.