萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 網路程式設計 >> 程式語言綜合

VC++ 6.0 常見編譯錯誤代碼與解決對照表

C2001: newline in constant

  • 字串/字元常量中出現換行。
  • 字串常量缺少結尾雙引號。
  • 字串內出現未轉義的雙引號。
  • 字元常量缺少結尾單引號。
  • 語句中誤輸入單/雙引號。

C2015: too many characters in constant

  • 字元常量(單引號)包含超過 1 個字元(轉義序列算 1 個)。
  • 字元常量缺少右單引號導致吞噬後續字元。

C2137: empty character constant

  • 連續兩個單引號中間無字元:''。

C2018: unknown character '0x##'

  • 原始碼出現全形符號、中文字或非 ASCII 字元且未包在字串常量中。

C2041: illegal digit for base '8'

  • 八進制常數(以 0 開頭)包含 8 或 9,如 089。

C2065: undeclared identifier

  • 變數/函數/類別名稱未宣告:拼錯、大小寫錯、忘記 `#include`、使用在宣告前、作用域外引用、前一行語法錯誤導致連鎖誤判。

C2086 / C2374: redefinition

  • 同一作用域重複定義同名變數,後者並初始化則為 C2374。

C2143: syntax error : missing ';' before 'identifier'

  • 經典誤報:真正錯誤通常在上一行(缺分號、語句不完整、頭文件尾部有誤)。

C4716: must return a value

  • 非 void 函數缺少 `return` 語句。

C4508: main should return a value

  • `main` 未宣告回傳型別且無 `return`,編譯器假定 `int` 並警告。

C4700: local variable used without initialization

  • 區域變數未初始化即使用,值不定導致邏輯錯誤。

除錯建議

  1. 優先修復第一個錯誤,後續多為連鎖誤報。
  2. 善用「前一行缺分號」經驗法則定位 C2143。
  3. 開啟警告等級 4 (`/W4`) 盡早發現 C4700 等潛在問題。
copyright © 萬盛學電腦網 all rights reserved