错误太多参数无法'void addBook()'

Error too many arguments to function 'void addBook()'

本文关键字:addBook void 太多 错误 参数      更新时间:2023-10-16

我一直在这里收到这个错误,我试图修复它,但什么都不起作用。有人能帮我弄清楚我做错了什么吗?

int main()
{
FILE *fp;
if ((fp = fopen("C:books.dat", "rb")) == NULL) {
    printf("This file does not exist, Please add books ......n");
     for (i=0; i< SIZE; i++)
        addBook(i);
}


delay = getchar();
delay = getchar();
 }

这是针对C++程序的,我正在尝试创建一个库,也使用文件处理

您得到这个错误是因为您将函数调用为

addBook(i);

但最有可能的是,你的函数定义类似

void addBook()

你需要在它的定义中传递一个参数。你应该把它改成

void addBook ( int i )

或者类似的东西,或者相反,从中删除i

    addBook(i);

看到你对addBook()的定义后,它就像我说的那样。该功能被定义为

void addBook()

但你称之为

addBook(i);

该函数不需要任何参数,但您用参数调用了它,这就是导致错误的原因。

除非您需要将i的值发送到函数addBook(),否则您应该从函数调用中删除i。这应该可以修复编译错误。