Condividi tramite


Avviso del compilatore (livello 2) C4244

'argument': conversione da 'type1' a 'type2', possibile perdita di dati

Un tipo a virgola mobile è stato convertito in un tipo integer. Potrebbe essersi verificata una perdita di dati.

Se viene visualizzato l'errore C4244, è consigliabile modificare il programma per poter usare tipi compatibili o aggiungere al codice la logica, per assicurarsi che l'intervallo di valori possibili sia sempre compatibili con i tipi usati.

C4244 può anche essere attivato al livello 3 e 4; Per altre informazioni, vedere Avviso del compilatore (livelli 3 e 4) C4244 .

Esempio

L'esempio seguente genera l'errore C4244:

// C4244_level2.cpp
// compile with: /W2

int f(int x){ return 0; }
int main() {
   double x = 10.1;
   int i = 10;
   return (f(x));   // C4244
   // try the following line instead
   // return (f(i));
}