2

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

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中的错误可能是什么原因?

4

2 回答 2

1

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

于 2012-05-21T07:46:10.127 回答
0

你有两个指针,struct svc_req *CLIENT *。您收到此错误是因为这两个指针都指向不同的类型。那 a 和 astruct svc_req不是同一类东西CLIENT,所以这两个指针不兼容。

于 2012-05-21T17:34:20.847 回答