我正在尝试调用函数(来自此switch语句)。在我调用函数的每一行上,“Person之前的语法错误”。 Person*
是指向“Person”类型结构的指针,它是链表的一部分。我打电话的功能是别人写的;我只是在写一个菜单功能。这个错误是否意味着我传递了错误的参数?
do{
switch (input){
case 'a':
add(Person*); //error
break;
case 'd':
delete(Person*); //error
break;
case 'v':
writelist(Person*); //error
break;
case 's':
writefile(Person*, char*); //error
break;
default:
printf ("Not a valid input\n");
break;
}
}while (input != 'q');
答案 0 :(得分:0)
传递相应类型的实际变量而不是变量类型。我假设你已经为你的结构做了typedef
。
//Some code
Person* p = (Person*)malloc(sizeof(Person))//Some where in the code
//May be you want to set the values for the structure members
char* fileName = (char*) malloc(20);
//Scan or set the file name
//Some code
do{
switch (input){
case 'a':
add(p);
break;
case 'd':
delete(p);
break;
case 'v':
writelist(p);
break;
case 's':
writefile(p,fileName);
break;
default:
printf ("Not a valid input\n");
break;
}
}while (input != 'q');