1)本地函數定義是非法的
是函數內部定義函數的錯誤,C,C++函數不可以在函數內部定義函數。
2)與左側的大括號"{"匹配之前遇到文件結束,和第一個問題是相關的,是這個問題導致的第一個問題的出現.
PS:
實際原因往往是,某個函數漏寫了右大括號"}"。
舉個例子來說明問題:
#include<iostream>
using namespace std;
void Func(char c[100]) //函數在聲明的同時也定義了
{
cout<<sizeof(c)<<endl;
}
int main()
{
char a[]="hello world"; //等價於 char *a=""hello world";
char *p=a;
cout<<sizeof(a)<<endl;
cout<<sizeof(p)<<endl;
void Func(char c[100])
{ //這個會飄紅 是因為不能在函數體內再定義函數,//會出現錯誤:此行有一個“{”沒有匹配項的原因
cout<<sizeof(c)<<endl;
}
system("pause");
return 0;
}
