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

C++ 編譯錯誤連續報 C2143:switch 缺少右大括號導致預編譯頭誤判

     編輯:程式設計綜合問答

錯誤列表大量 C2143: missing ';' before 'PCH creation point',實際根因:Select() 函數中 switch 缺少右大括號 },導致編譯器將後續所有代碼視為 switch 體內部,預編譯頭創建點位置錯誤。

錯誤代碼片段

void Select() {
    int k; cin >> k;
    switch(k) {
        case 1: Jisuan(); break;
        case 2: exit(1);
        default: Userface(); Select(); break;
    // 缺少 } 導致後續 main() 等被吞入 switch
}

修正

void Select() {
    int k; cin >> k;
    switch(k) {
        case 1: Jisuan(); break;
        case 2: exit(1);
        default: Userface(); Select(); break;
    } // 加上右大括號
}

經驗總結

  • 大量連續語法錯誤多為**單一結構性錯誤**級聯
  • 優先查看**第一條錯誤**及其上下文
  • 使用 IDE 括號匹配高亮(Ctrl+Shift+\)快速定位缺失括號
  • 預編譯頭錯誤常因前文語法不完整導致
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved