对于代码:
#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)
这会导致语法错误.
要解决此问题,请将其删除 ;