如何在C ++中定义常量?

时间:2011-03-23 18:38:20

标签: c++ math syntax

代码:

#define e 2.71828183;

double p ( int x )
{
    return 1 / ( 1 + pow ( e, -1.0 * x ) );
}

我明白了:

math.cpp: In function ‘double p(int)’:
math.cpp:11: error: expected ‘)’ before ‘;’ token
math.cpp:11: error: expected ‘)’ before ‘;’ token
math.cpp:11: error: expected primary-expression before ‘,’ token
math.cpp:11: error: expected ‘;’ before ‘)’ token

3 个答案:

答案 0 :(得分:12)

宏替换结束时有一个;

#define e 2.71828183;

在预处理时,return语句如下所示:

return 1 / ( 1 + pow ( 2.71828183;, -1.0 * x ) );
                                 ^^

会导致语法错误。

要解决此问题,请删除;

答案 1 :(得分:3)

宏不应该有一个分号。

答案 2 :(得分:3)

正如您提出的关于C ++的问题:

在这里你可以看到宏观替代的问题。相反,使用常量:

double const e = 2.71828183;