首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C 語言語法錯誤「expected unqualified-id before '{' token」:函數定義後多餘分號

     編輯:程式設計疑難解答

錯誤現象

編譯器報錯:expected unqualified-id before '{' token,指向某個函數定義的左大括號 {。

典型錯誤代碼

void Pop()          // 函數聲明/定義
{                   // ← 報錯指向這裡
    // 函數體
};                  // ❌ 這裡多了一個分號!

原因分析

C/C++ 中,**函數定義(帶花括號的實現)後不能加分號**。分號只用於:

  • 函數聲明(原型):void Pop();
  • 結構體/類定義結尾:struct Node { int x; };
  • 變量聲明/語句結尾。

修正方法

void Pop()          // 正確:無分號
{
    // 函數體
}                   // 直接結束

同類易混淆場景

代碼片段是否需要分號說明
int add(int a, int b) { return a+b; }否函數定義
int add(int a, int b);是函數聲明
struct S { int x; };是結構體定義
struct S { int x; } var;是定義變量
do { ... } while(cond);是do-while 結尾

編譯錯誤截圖

快速定位技巧

  1. 雙擊編譯器錯誤列表跳轉到報錯行。
  2. 向上查找最近的 },檢查其後是否多出 ;。
  3. 使用 IDE 格式化代碼(Ctrl+Shift+F),語法高亮會讓多餘分號明顯可見。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved