不能在pow-function中使用常量

时间:2013-12-28 09:25:37

标签: c pow

我已经定义了一个常量如下

 #define M_PI 3.14159265358979323846;

我不能在pow-function中使用它作为参数

 double d = pow(M_PI * 2, 0.5);

那是 - M_PI * 2的平方根

我在eclipse中得到了一个神秘的语法错误

这段代码有什么问题?使用函数外的常量没有问题

1 个答案:

答案 0 :(得分:9)

从此行中删除尾随分号:

#define M_PI 3.14159265358979323846;

让它看起来像这样:

#define M_PI 3.14159265358979323846

宏在编译之前由预处理器扩展,因此使用您的版本传递给编译器的代码如下所示:

double d = pow(3.14159265358979323846; * 2, 0.5);