coc*_*nut 1 c++ pi compiler-errors
我正在开发一个新项目,我正在努力编写最干净,最容易阅读,希望最有效的代码.
我需要使用PI,但显然它没有在math.h中定义.所以我读到了这样做:
const double PI = atan(1.0)*4
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
函数调用不能出现在常量表达式中
有什么想法吗?如何将PI作为常量?
另外,我想尽可能多地学习这个项目,所以如果你能解释为什么你的答案会起作用的话会很棒.谢谢!
怎么样:
const double PI = 3.1415926535897932384626433832795028841971693993751058209;
Run Code Online (Sandbox Code Playgroud)
在我看来,这比我更清洁,更容易阅读,更有效率atan(1.0)*4.
你错误地标记了这个问题.在C++中,以下是明确定义的并将编译:
#include <math.h>
const double PI = atan(1.0)*4;
Run Code Online (Sandbox Code Playgroud)
但是在C中,不允许在文件范围内使用初始值设定项.
在C中,您需要使用非标准宏(例如M_PI在GCC中),创建自己适当的宏或文字(Ned Batchelder已经为您完成了困难的部分),或者在您自己的函数中适当地初始化它足够早的时间.
| 归档时间: |
|
| 查看次数: |
4972 次 |
| 最近记录: |