Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 2) C4244

'argument' : převod z 'type1' na 'type2', možné ztráty dat

Typ s plovoucí desetinou čárkou byl převeden na celočíselnou hodnotu. Mohlo dojít ke ztrátě dat.

Pokud získáte C4244, měli byste buď změnit program tak, aby používal kompatibilní typy, nebo přidat do kódu určitou logiku, aby se zajistilo, že rozsah možných hodnot bude vždy kompatibilní s typy, které používáte.

C4244 může také požár na úrovni 3 a 4; Další informace najdete v tématu Upozornění kompilátoru (úrovně 3 a 4) C4244 .

Příklad

Následující ukázka vygeneruje 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));
}