编译器警告(等级 2)C4244
“argument”:从“type1”转换到“type2”,可能丢失数据
浮点类型已转换为整数类型。 可能发生了数据丢失。
如果收到 C4244,则应将程序更改为使用兼容类型,或向代码添加一些逻辑,以确保可能值的范围将始终与你使用的类型兼容。
C4244 也可在等级 3 和等级 4 触发;有关详细信息,请参阅编译器警告(等级 3 和等级 4)C4244。
示例
下面的示例生成 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));
}