Udostępnij przez


Ostrzeżenie kompilatora (poziom 2) C4244

"argument" : konwersja z "type1" na "type2", możliwa utrata danych

Uwagi

Typ zmiennoprzecinkowa został przekonwertowany na typ liczby całkowitej. Mogła wystąpić możliwa utrata danych.

Jeśli otrzymasz C4244, należy zmienić program tak, aby używał zgodnych typów lub dodać logikę do kodu, aby upewnić się, że zakres możliwych wartości będzie zawsze zgodny z używanymi typami.

C4244 może również strzelać na poziomie 3 i 4; Aby uzyskać więcej informacji, zobacz Ostrzeżenie kompilatora (poziomy 3 i 4) C4244 .

Przykład

Poniższy przykład generuje 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));
}