因为当你在代码中写一个浮点数时, 编译系统会将其默认为 double 类型
所以 const float PI = 3.14; 就是将一个 double 类型的数赋值给一个 float 类型变量, 这样会触发一个 warning
所以你应该强制转换
const float PI = (float) 3.14;
在 C++ 中, 不推荐使用 C 中的强制换方法(就是在括号中加上类型名), 而是使用将类型当作一个函数的写法.
也就是上面的
const float PI = (float) 3.14;
在 C++ 中的标准写法是
const float PI = float(3.14);
其实除了强制转换外, 我们还可以让编译器认为我们写出的浮点数为 float 类型而不是 double 类型,
也就是在浮点数后加 'f' (不包括单引号), 如
const float PI = 3.14f;
还有, 你的上面的代码在 C++ 标准中是不规范的, 在某些严格遵循 C++ 标准的编译器中你的代码是无法通过编译的
应该是
#include <iostream> // 像很多 C++ 标准中新增的头文件都不推荐加 .h
using namespace std; // C++ 标准中, 只有申请使用名空间 std, 才能使用 cout 还有 endl 等等
// 否则就得使用 std::cout 和 std::endl 等等
const float PI = 3.14f;
//... // 后面代码就和你的一样
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。