編譯器報錯: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 結尾 |

},檢查其後是否多出 ;。