char*与char(*)[100]的间接级别不同

Jon*_*ams 1 c char indirection

基本上我正在接受用户输入并使用它从列表中删除,刚刚抛出此错误.这个代码在一个小时前就已经完成了,所以我不知道为什么Visual Studio现在正在讨论这个问题.

char courseName[100];
scanf("%s", courseName);
deletefromlist(&list, &courseName);
Run Code Online (Sandbox Code Playgroud)

deletefromlist函数(Courselist * self, char * data)作为参数.

我怎样才能纠正这个错误,并在将来避免它?干杯!

Moh*_*ain 5

函数的第二个参数接受char *,所以你应该传递courseName而不是&courseName.

或者根据性质deletefromlist,您可能想要更改参数类型.