参数与Linux中的原型错误不匹配

时间:2012-05-21 07:35:25

标签: c linux struct function-prototypes

我的头文件包含以下函数声明:

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文件由OS在编译期间生成。 可能是Linux中出错的原因是什么?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您有两个指针:struct svc_req *CLIENT *。您收到此错误,因为两个指针都指向不同的类型。这是struct svc_reqCLIENT不同,所以两个指针不兼容。