【发布时间】:2014-02-18 17:45:18
【问题描述】:
我正在使用 XCode 用 C 语言编写程序。我很少使用C,通常我使用C++。我以前从未使用过 XCode。
编译错误很简单,以下代码行没有被编译器视为编译时常量。
const double PI = 4.0 * atan(1.0);
const double TAU = 8.0 * atan(1.0);
我确信这在 C++ 11 中是允许的,尽管我不能肯定,因为我几个月前最后一次使用它。
我的猜测是 XCode 编译器/C 标准不允许以这种方式计算常量。
我可以使用其他替代方法吗?我不太喜欢“定义”的替代方案......
#define PI 4.0 * atan(1.0);
因为这会(可能?)导致不必要的运行时开销。
【问题讨论】:
-
为什么不使用来自
math.h的M_PI或者只使用3.141592653589?那应该是doubleprecision。
标签: c xcode constants compile-time-constant