コンパイラの警告 (レベル 2) C4244Compiler Warning (level 2) C4244

' argument ': ' type1 ' から ' type1 ' への変換です。データが失われる可能性があります。'argument' : conversion from 'type1' to 'type2', possible loss of data

浮動小数点型が整数型に変換されました。A floating point type was converted to an integer type. データが失われた可能性があります。A possible loss of data may have occurred.

C4244 の場合は、互換性のある型を使用するようにプログラムを変更するか、別のロジックをコードに追加して、変換される値の範囲が使用している型と常に互換性があるようにします。If you get C4244, you should either change your program to use compatible types, or add some logic to your code, to ensure that the range of possible values will always be compatible with the types you are using.

C4244 は、レベル3、および4でも起動できます。詳細については、「コンパイラの警告 (レベル3および 4) C4244 」を参照してください。C4244 can also fire at level 3, and 4; see Compiler Warning (levels 3 and 4) C4244 for more information.

Example

次の例では C4244 が生成されます。The following sample generates 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));
}