C++编译警告:warning C4305: 'initializing' : truncation from 'const double' to 'float'
来源:互联网 发布:数据字典的范例 编辑:程序博客网 时间:2024/05/17 01:43
float a=4.14E-3;
float a=3.1;
类似的语句在编译的时候,会产生如下警告:warning C4305: 'initializing' : truncation from 'const double' to 'float',虽然说不会导致错误,但是看了也不爽,所以去找找看为什么这个语法没有错误的句子会产生这个警告呢?
找了半天,终于找到了一个觉得比较对的原因:在c++里,默认的小数类型是double,出现const是因为4.14和3.1是一个常数。由于编译器会将浮点常量默认地看作double,所以将会出现截断的警告。
为了避免警告,你可以将这个常量显式声明为float常量:
float a=4.14E-3f;
float a=3.1f;
- C++编译警告:warning C4305: 'initializing' : truncation from 'const double' to 'float'
- warning C4305: 'initializing' : truncation from 'const double' to 'float'
- warning C4305: “初始化”: 从“double”到“const float”截断的问题原因及其处理
- warning C4305: “初始化”: 从“double”到“float”截断
- warning C4305:“初始化”:从“double”到“float”截断
- 解决 warning C4305:“初始化”:从“double”到“float”截断的问题
- warning C4305
- warning C4047: 'initializing' : 'char *' differs in levels of indirection from 'const int '
- from c to c++ : const
- warning C4090: 'initializing' : different 'const' qualifiers
- vs2005 warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
- vs2005 warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
- vs2005 warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
- vs2005 warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
- 消灭编译警告(Warning)
- 消灭编译警告(Warning)
- 消灭编译警告(Warning)
- 消灭编译警告(Warning) .
- 在VC++下对文件属性的获取与更改
- 国外C#开源系统一览表 ,C# Open Source
- CComboBox执行ON_CBN_SELCHANGE事件时提取当前选中字符串方法
- XHTML和HTML之间的区别
- 造面
- C++编译警告:warning C4305: 'initializing' : truncation from 'const double' to 'float'
- window.open()总结
- 读取DXF格式文件
- 奥尼尔:疯狂终点站
- Get Acquainted with the New Advanced Features of JUnit 4
- xPath 动态分离XML数据
- 在VC++下对文件属性的获取与更改
- SQL SERVER分页算法
- 在javascript中在function处提示missing(before function parameters错误是怎么回事?