使用 Visual Studio 2010 撰寫以堆疊實作的括號匹配程式時,若出現「錯誤 C2143:語法錯誤:缺少 ';'(在 '類型' 前面)」類似訊息,通常與程式碼的大括號配對有關。
常見原因
在提供的範例中,main 函數的右大括號「}」遺失,導致編譯器在後續函數定義處誤判語法結構,進而回報缺少分號或類型錯誤。
修正重點
- 檢查 main 函數是否已正確閉合所有左大括號。
- 確認 push、pop、is_empty、is_full 等堆疊函數的實作與宣告一致。
- 注意邏輯錯誤:原始程式碼在匹配失敗時誤印「輸入不正確」,應改為「不匹配」並中斷。
堆疊操作提醒
- push 時先檢查 is_full,避免堆疊溢位。
- pop 時先檢查 is_empty,避免堆疊下溢。
- 括號匹配時,需確認左括號與右括號種類是否對應({}、[]、())。