此代码段在C中是否合法?

boy*_*ang 4 c

函数wait()在另一个函数中声明.这合法吗?

void panic(const int reason, const char *strg) 
{
int ErrNo;
struct machine_attributes mach;
int ret, docstat, cnt;
pid_t pid, wait(int *), setsid(void); 
    ......
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

CB *_*ley 6

是的,只要此声明与函数的实际定义相匹配.

pid_t pid, wait(int *), setsid(void);
Run Code Online (Sandbox Code Playgroud)

这声明了三个实体:pid_t命名pid,命名的函数(获取int*和返回pid_t)wait和命名的函数(不带参数和返回pid_t)setsid.

宣言pid也是一个定义.