我似乎无法找到这段代码的错误链接:缺少参数? C语言编程
#include "queue.h"
int pause(){
return 1;
}
void add_to_queue(person p){
if(full() != 1){
printf ("\nAnge förnamn:");
scanf ("%c", p.first_name);
printf ("\nAnge efternamn:");
scanf ("%c", p.sure_name);
printf ("\nAnge person nummer:");
scanf ("%c", p.pers_nbr);
enqueue(p);
}
else{
printf ("\nKön är full!");
}
}
void show_menu(){
printf ("\n**** Meny ****\n");
printf ("1. Lägg till personer i kön\n");
printf ("2. Ta bort personer ur kön\n");
printf ("3. Skriv ut kön\n");
printf ("4. Avsluta\n\n");
}
int get_selection(){
int selection;
do{
printf ("Ange ett alternativ 1-4: ");
scanf ("%d", &selection);
if (selection >= 1 && selection >= 4){
printf ("\nFel");
}
}while (selection < 1 && selection < 4);
return selection;
}
void run_selection(int selection){
switch (selection){
case 1 :add_to_queue(); <------- THIS IS WHERE THE PROBLEM IS!
break;
case 2 ://remove_from_queue();
break;
case 3 ://print_queue();
break;
case 4 : exit(0);
break;
default:
printf("Ogiltigt val! Tryck enter och välj ett alternativ mellan 1-4");
break;
}
}
它给我的错误:
menu.c:49:10: error: too few arguments to function ‘add_to_queue’
,但我想不出有什么说法它应该在这里?试了add_to_queue(p)
和add_to_queue(person p)
和一切.... 帮助!!!!
与您所问的问题无关,但不带参数的函数应该用'(void)'而不是'()'来定义。空括号是一个过时的形式,不会给你任何编译时检查。 –