“本地函數定義是非法的”,1>.cpp(14): 此行有一個“{”沒有匹配項的原因


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;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM