warning C4305:“初始化”:从“double”到“float”截断

编译VS项目时出现警告:

warning C4305:“初始化”:从“double”到“float”截断(warning C4305: 'initializing' : truncation from 'const double' to 'float')。

原因:

在 C 语言中,如果不指定数据类型,那么小数常量会被认为是 double 类型的。 

如:float x; x = 1.2; 其中 x 是 float 类型的,但是 1.2 是 double 类型的,由于它是常量,

所以编译器称为 const double。double 是不能隐式转换为 float 的。

这时候可改成 x=1.2f; 或者 x=1.2F; 就可以了。

posted @ 2016-11-28 12:13  丁培飞  阅读(1863)  评论(0编辑  收藏  举报