C++定义常成员问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:45:04
定义一个常成员
const float pi=(float)3.1415926;
这样写可以吗?
const float pi=3.1415926;
为什么????????????????

这样当然可以,不过会有警告的
C++编译器把3.1415926等小数认为是double类型,不过你可以在后面加个f就行了,3.1415926f,这样编译器就知道是float类型的,如果不加,编译器会自动把那个double类型隐式地转换成float

const float pi=(float)3.1415926;
这条语句中的const float pi 表明了pi 的数据类型必须为float型
而3.1415926是double型
所以应写为:
const double pi=3.1415926;