发新帖

[C/VC/C++] [QT] 解决 warning C4305:“初始化”:从“double”到“float”截断的问题

零下一度 2022-11-18 719

解决 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; 就可以了。


最新回复 (0)
返回
零下一度
主题数
928
帖子数
0
注册排名
1