好吧,現在這是一個謎,沒有人問我可以解決。我也許是初學者,但這是我知道我不應該得到的。如果else語句錯了,或者我的編譯器錯了?
1>c:\users\kevin\documents\visual studio 2010\projects\movie\movie\p2 project.cpp(57): error C2143: syntax error : missing ';' before '{'
1>c:\users\kevin\documents\visual studio 2010\projects\movie\movie\p2 project.cpp(68): error C2181: illegal else without matching if
本節在這裏
int customer_menu(char signup(struct register_ regis))
{
FILE *cni; /* cni means customer necessary info*/
cni=fopen("login.txt","a+");
if(cni!=NULL)
{
if (regis.category=="customer")
/*This is where the compiler say the error is at. Expecting a ';' here?:*/
{
printf("\t\t~>~>~>~>~>~>~>menu~>~>~>~>~>~>~>~>~~ \n");
printf("\t\t~>~>~>~>~>~>~>~>~>~>~>~>~>>~>~>~>~>~ \n");
printf("\t\t~>~>~>~>>~>~>~>~>~>~>~>~>~>~>~>~>~>~ \n");
printf("\t\t~>~>~>~>~>to login~>~>~>~>~>~press 1 \n");
printf("\t\t~>~>~>~>~>to register~>~>~>~>press 2 \n");
printf("\t\t~>~>~>~>~>to buy ticket~>~>~>press 6 \n");
printf("\t\t~>~>~>~>~>to exit~>~>~>~>~>~>press 0 \n");
printf("\t\t~>~>~>~>~>~>~>~>~>~>~>~>~>>~>~>~>~>~ \n");
printf("\t\t~>~>~>~>>~>~>~>~>~>~>~>~>~>~>~>~>~>~ \n");
scanf("%d",&choice);
}
else
{
int worker_menu(char signup(struct regis));
}
fclose(cni);
/* And illegal use of else without matching if here?*/
}
else
{
printf("an error occured. please try again\n");
system("pause");
system("cls");
char log,reg; desion(reg, log);
}
}
我是否有錯誤評論之前的錯誤,編譯器跳過所以導致這樣一個令人震驚和不解的謎?
您可能在函數之前忘記了右括號或括號*;那麼該函數就成爲該塊的一部分,直到編譯器遇到不再是塊的一部分的東西。你是否使用了一個帶有大括號/括號突出顯示的編輯器? – Evert 2014-11-14 15:05:38
我只是試圖重新格式化你粘貼的代碼,看起來@Evert是正確的,你的第二個評論似乎是在一個塊的末尾的一行 – 2014-11-14 15:08:22
我不明白你的意思。 – 2014-11-14 15:39:25