我已经定义了一个常量如下
#define M_PI 3.14159265358979323846;
我不能在pow-function中使用它作为参数
double d = pow(M_PI * 2, 0.5);
那是 - M_PI * 2的平方根
我在eclipse中得到了一个神秘的语法错误
这段代码有什么问题?使用函数外的常量没有问题
答案 0 :(得分:9)
从此行中删除尾随分号:
#define M_PI 3.14159265358979323846;
让它看起来像这样:
#define M_PI 3.14159265358979323846
宏在编译之前由预处理器扩展,因此使用您的版本传递给编译器的代码如下所示:
double d = pow(3.14159265358979323846; * 2, 0.5);