我有带有以下函数声明的头文件:

extern  getEmailDetailsResult * getemaildetails_5(getEmailDetailsInput *, CLIENT *);

在我的.c文件中,函数定义是
getEmailDetailsResult* getemaildetails_5(inputParams, rqstp)
    getEmailDetailsInput *inputParams;
    struct svc_req *rqstp;

当我在unix中编译程序时,编译是成功的。但是在linux(gcc 4.1.2)中,我得到了以下错误"error: argument ârqstpâ doesnât match prototype"。具有函数原型的.h文件由操作系统在编译期间生成。
Linux中出现错误的原因是什么?

最佳答案

看起来struct svc_req *指针不等同于CLIENT *指针。

关于c - 参数与Linux中的原型(prototype)错误不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10681132/

10-09 08:41