gpt4 book ai didi

c - 函数调用时参数不足

转载 作者:行者123 更新时间:2023-11-30 20:15:28 25 4
gpt4 key购买 nike

我收到错误,因为 readdir_r 函数调用中的参数不足。 readdir_r的函数原型(prototype)如下

int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);

其中 dirp - 目录流,条目是目录中的下一个条目,结果是指向返回项的指针。

我使用 readdir_r 作为

int re = readdir_r( dir , &entry); 

我是否需要将所有三个参数作为原型(prototype)传递才能使其工作?

最佳答案

对于像 readdir_r() 这样的函数,需要使用所有参数。

有时参数允许使用诸如 NULL 或 0 之类的值,但这取决于函数。

int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
<小时/>

具有包含 ... 原型(prototype)的函数,如 printf() 允许从 ... 开始的可变数量的参数。同样,所需的数量和类型取决于功能。编译器不可能知道正确的类型和编号(除非它是标准库函数)。

int printf ( const char * format, ... );
<小时/>

int foo()int bar(a,b,c) 这样的老式原型(prototype)/声明仅告诉您返回类型。编译器无法判断编码器是否做了正确的事情。这种风格早已失宠。

关于c - 函数调用时参数不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19330435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com