我的头文件包含以下函数声明:
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中出错的原因是什么?
答案 0 :(得分:1)
看起来struct svc_req *
指针不等同于CLIENT *
指针。
答案 1 :(得分:0)
您有两个指针:struct svc_req *
和CLIENT *
。您收到此错误,因为两个指针都指向不同的类型。这是struct svc_req
与CLIENT
不同,所以两个指针不兼容。