Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
'conversion': troncamento da 'type1' a 'type2'
Osservazioni:
Questo avviso viene generato quando un valore viene convertito in un tipo più piccolo in un'inizializzazione o come argomento del costruttore, con conseguente perdita di informazioni.
Esempio
Questo esempio mostra due modi per visualizzare questo avviso:
// 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);
}
Per risolvere questo problema, inizializzare usando un valore del tipo corretto o usare un cast esplicito al tipo corretto. Ad esempio, usare un float valore letterale, ad esempio 2.71828f anziché un double (tipo predefinito per i valori letterali a virgola mobile) per inizializzare una float variabile o passare a un costruttore che accetta un float argomento.