int right_brace,left_brace;
int compare_result = 0;
right_brace = 0;
left_brace = 0;
char line[LINE_MAX];
FILE *fp1;
main 函數頭是這麼寫的,然後出現了一大推缺少定義啊 非法的提示,
“FILE”: 將此類型用作表達式非法
“fp1”: 未聲明的標識符
原來是 right_brace = 0; left_brace = 0;已經是定義了位於了聲明char line[LINE_MAX];FILE *fp1;的前面,因爲c編譯器要求所有變量的聲明要放在函數塊的頭部,c++沒有要求這麼做。
char ch;
int right_brace,left_brace;
int compare_result = 0;
char line[LINE_MAX];
FILE *fp1;
right_brace = 0;
left_brace = 0;
這樣就對了。
但是如果改成聲明的時候就定義,也不會報錯。
char ch;
int right_brace,left_brace = 0;
int compare_result = 0;
char line[LINE_MAX];
FILE *fp1;