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

pde*_*del 2 c++ math syntax

对于代码:

#define e 2.71828183;

double p ( int x )
{
    return 1 / ( 1 + pow ( e, -1.0 * x ) );
}
Run Code Online (Sandbox Code Playgroud)

我明白了:

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
Run Code Online (Sandbox Code Playgroud)

cod*_*ict 12

;您的宏替换结束时有一个:

#define e 2.71828183;
Run Code Online (Sandbox Code Playgroud)

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

return 1 / ( 1 + pow ( 2.71828183;, -1.0 * x ) );
                                 ^^
Run Code Online (Sandbox Code Playgroud)

这会导致语法错误.

要解决此问题,请将其删除 ;