Предупреждение компилятора (уровень 2) C4244

"argument": преобразование из типа1 в "type2", возможная потеря данных

Тип с плавающей запятой был преобразован в целочисленный тип. Возможна потеря данных.

При возникновении ошибки C4244 следует изменить программу так, чтобы использовались совместимые типы, или добавить в код логику, чтобы диапазон возможных значений всегда был совместим с типами, которые вы используете.

C4244 также может пожарить на уровне 3 и 4; Дополнительные сведения см. в разделе "Предупреждение компилятора" (уровни 3 и 4) C42444 .

Пример

Следующий пример приводит к возникновению ошибки 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));
}