共用方式為


編譯器錯誤 C2300 至 C2399

此文件區段的文章會說明編譯器所產生錯誤訊息的子集。

重要

Visual Studio 編譯器及建置工具可以報告許多類型的錯誤和警告。 發現錯誤或警告後,建置工具可能會假設程式碼意圖並嘗試繼續執行,以便可以同時報告更多問題。 如果工具做的假設有誤,那麼後來的錯誤或警告可能不適用於您的專案。 當您更正專案中的問題時,務必從所報告的第一個錯誤或警告開始進行。 一個修正程式可能會讓許多後續的錯誤消失。

若要取得 Visual Studio 中特定診斷訊息的說明,請在 [輸出] 視窗中選取該訊息,然後按下 F1 鍵。 如果存在,Visual Studio 會開啟該錯誤的文件頁面。 您也可以使用頁面頂端的搜尋工具來尋找有關特定錯誤或警告的文章。 或者,在此頁面上依照目錄中的工具和型別瀏覽錯誤與警告清單。

注意

並非每個 Visual Studio 錯誤或警告都有記載。 在許多情況下,診斷訊息會提供所有可用的資訊。 若您在使用 F1 時登陸此頁面,而且您認為錯誤或警告訊息需要額外的說明,請告訴我們。 您可以使用此頁面上的意見反應按鈕,在 GitHub 提出文件問題。 如果您認為錯誤或警告有誤,或發現工具組有其他問題,請在開發人員社群網站上回報產品問題。 您也可以傳送意見反應,並在 IDE 內輸入錯誤。 在 Visual Studio 中,移至功能表列,然後選擇 [說明] > [傳送意見反應] > [回報問題],或使用 [說明] > [傳送意見反應] > [傳送建議] 提交建議。 已建立某些編譯器錯誤主題,但編譯器未發出,現在會重新導向至此頁面。

您可以在 Microsoft Learn Q&A 論壇中找到針對錯誤和警告的其他協助。 或者,在 Visual Studio C++ 開發人員社群網站上搜尋錯誤或警告號碼。 您也可以搜尋 Stack Overflow 以尋找解決方案。

如需其他說明和社群資源的連結,請參閱 Visual C++ 說明與社群

錯誤訊息

錯誤 訊息
編譯器錯誤 C2300 'class':類別沒有稱為 '~class' 的解構函式
編譯器錯誤 C2301 '->~identifier' 的左邊必須指向類別/結構/等位
編譯器錯誤 C2302 '.~identifier' 的左邊必須有類別/結構/等位類型
編譯器錯誤 C2303 協同程式中無法使用結構化例外狀況處理
編譯器錯誤 C2304 無法在 catch 區塊中使用 'keyword'
編譯器錯誤 C2305 'file' 不包含此模組的偵錯資訊
編譯器錯誤 C2306 'file' 不包含此模組最新的偵錯資訊
編譯器錯誤 C2307 如果啟用累加編譯,必須將 Pragma directive 移出函式
編譯器錯誤 C2308 指定要結合的字串彼此不相符,無法執行
編譯器錯誤 C2309 catch 處理常式必須使用小括號內例外狀況的宣告
編譯器錯誤 C2310 catch 處理常式必須指定一個類型
編譯器錯誤 C2311 'type':例外狀況在第 number 行被 '...' 攔截
編譯器錯誤 C2312 'type1':參考被 'type2' 攔截,第 number
編譯器錯誤 C2313 'type1':在第 number 行被參考 ('type2') 攔截
編譯器錯誤 C2314 keyword 'keyword1' 已被取代:請改用 'keyword2'
編譯器錯誤 C2315 'type1':參考被 'type2' 攔截,第 number
編譯器錯誤 C2316 'type':無法攔截,因為解構函式和/或複製建構函式無法存取或已遭刪除
編譯器錯誤 C2317 從第 'number' 行開始的 'try' 區塊沒有 catch 處理常式
編譯器錯誤 C2318 沒有和 catch 處理常式關聯的 try 區塊
編譯器錯誤 C2319 'try/catch' 之後必須是複合陳述式。 遺漏 '{'
編譯器錯誤 C2320 存取規範 'specifier' 的後面必須是 ':'
編譯器錯誤 C2321 'identifier' 是關鍵字,不能用在此內容中
編譯器錯誤 C2322 'identifier':dllimport 'identifier' 的位址不是靜態的
編譯器錯誤 C2323 'identifier':非成員運算子 new 或 delete 函式不得宣告為 static,也不得位於全域命名空間以外的命名空間中
編譯器錯誤 C2324 'identifier':'::~' 右邊未預期
編譯器錯誤 C2325 'type1':'->~' 的右邊出現未預期的類型:必須是 'type2'
編譯器錯誤 C2326 'declarator':函式無法存取 'identifier'
編譯器錯誤 C2327 'identifier':不是類型名稱、靜態或列舉程式
編譯器錯誤 C2328 'keyword':尚未支援關鍵字
編譯器錯誤 C2329 'identifier':無法在函式指標上使用 __ptr64
編譯器錯誤 C2330 'implementation_key( )' 只在由 #pragma start_map_region/stop_map_region 界限的區域中有效
編譯器錯誤 C2331 存取 'identifier' 現在定義為 'accessibility1',先前定義為 'accessibility2'
編譯器錯誤 C2332 'typedef':遺漏標記名稱
編譯器錯誤 C2333 'function':函式宣告發生錯誤;略過函式主體
編譯器錯誤 C2334 在 'token' 之前有未預期的語彙基元;略過函式主體
編譯器錯誤 C2335 'identifier:無法將類型引入函式參數清單
編譯器錯誤 C2336 'type':不合法的類型
編譯器錯誤 C2337 'attribute':找不到屬性
編譯器錯誤 C2338 (外部提供者的錯誤訊息)
編譯器錯誤 C2339 'identifier':內嵌 IDL 中不合法的類型
編譯器錯誤 C2340 'identifier':'static' 只可在類別定義中使用
編譯器錯誤 C2341 'section':使用區段前必須透過 #pragma data_seg、code_seg 或 section 來定義
編譯器錯誤 C2342 語法錯誤:衝突的類型限定詞
編譯器錯誤 C2343 'section':衝突的區段屬性
編譯器錯誤 C2344 align (number):使用 align 規範必須是 2 的乘冪
編譯器錯誤 C2345 align(number):使用不合法的 align 值
編譯器錯誤 C2346 'function' 無法編譯為原生:'explanation'
編譯器錯誤 C2347 已過時。
編譯器錯誤 C2348 'type':不是 C-Style 彙總,無法在內嵌 IDL 中匯出
編譯器錯誤 C2349 'function' 無法編譯為受控:'explanation',請使用 #pragma unmanaged
編譯器錯誤 C2350 'identifier' 不是靜態成員
編譯器錯誤 C2351 過時的 C++ 建構函式初始化語法
編譯器錯誤 C2352 'identifier':非靜態成員函式的呼叫不合法
編譯器錯誤 C2353 不能使用例外狀況規格
編譯器錯誤 C2354 已過時。
編譯器錯誤 C2355 'this':只能在非靜態成員函式或非靜態資料成員初始設定式內部參考
編譯器錯誤 C2356 在編譯單位中不需要變更初始化區段
編譯器錯誤 C2357 'identifier':必須是類型 'type' 的函式
編譯器錯誤 C2358 identifier':無法在類別定義外部定義靜態屬性
編譯器錯誤 C2359 已過時。
編譯器錯誤 C2360 'identifier' 的初始化會被 'case' 標籤略過
編譯器錯誤 C2361 'identifier' 的初始化會被 'default' 標籤略過
編譯器錯誤 C2362 'identifier' 的初始化會被 'goto label' 標籤略過
編譯器錯誤 C2363 編譯器內建數值限制函式需要字串常值引數
編譯器錯誤 C2364 'type':自訂屬性的型別不合法
編譯器錯誤 C2365 'member1':重複定義,先前的定義是 'member2'
編譯器錯誤 C2366 'identifier':重複定義;implementation_key 的規範不相同
編譯器錯誤 C2367 已過時。
編譯器錯誤 C2368 'identifier':重複定義;配置的規範不相同
編譯器錯誤 C2369 'identifier':重複定義;註標不相同
編譯器錯誤 C2370 'identifier':重新定義;儲存類別不相同
編譯器錯誤 C2371 'identifier':重複定義;基本類型不相同
編譯器錯誤 C2372 'identifier':重複定義;間接取值的類型不相同
編譯器錯誤 C2373 'identifier':重複定義;類型修飾詞不相同
編譯器錯誤 C2374 'identifier':重複定義;多個初始設定
編譯器錯誤 C2375 'identifier':重複定義;連結不相同
編譯器錯誤 C2376 'identifier':重複定義;基礎配置不相同
編譯器錯誤 C2377 'identifier':重複定義;typedef 無法以其他符號多載
編譯器錯誤 C2378 'identifier':重複定義;符號無法以 typedef 多載
編譯器錯誤 C2379 升級時型式參數 number 具有不同的類型
編譯器錯誤 C2380 在 'identifier' 前定義類型 (具有傳回類型的建構函式,或目前類別名稱的重新定義不合法?)
編譯器錯誤 C2381 'identifier':重複定義;'__declspec(noreturn)' 或 '[[noreturn]]' 不相同
編譯器錯誤 C2382 'identifier':重複定義;不同的例外狀況規格
編譯器錯誤 C2383 'identifier':在這個符號中不允許使用預設引數
編譯器錯誤 C2384 'member':無法對 managed/WinRT 類別的成員套用 thread_local 或 __declspec(thread)
編譯器錯誤 C2385 'member' 的存取模稜兩可
編譯器錯誤 C2386 'identifier':目前範圍中已經有使用這個名稱的符號
編譯器錯誤 C2387 'identifier':模棱兩可的基礎類別
編譯器錯誤 C2388 'identifier':符號不可同時以 __declspec(appdomain) 和 __declspec(process) 宣告
編譯器錯誤 C2389 'operator':不合法的運算元 'nullptr'
編譯器錯誤 C2390 'identifier':不正確的儲存類別 'specifier'
編譯器錯誤 C2391 'identifier':在類型定義時不可以使用 'friend'
編譯器錯誤 C2392 'member1':Covariant 應傳回 managed/WinRT 類型中不支援的類型,否則 'member2' 將會被覆寫
編譯器錯誤 C2393 'symbol':per-appdomain 符號不可配置在區段 'segment' 中
編譯器錯誤 C2394 'type::operator operator':CLR/WinRT 運算子無效。 至少一個參數必須是下列類型:'T^'、'T^%'、'T^&;',其中 T = 'type'
編譯器錯誤 C2395 'type::operator operator':CLR/WinRT 運算子無效。 至少一個參數必須是下列類型:'T'、'T%'、'T&'、'T^'、'T^%'、'T^&;',其中 T = 'type'
編譯器錯誤 C2396 type1::operator type2':CLR/WinRT 使用者定義轉換函式無效。 必須從下列項目轉換或轉換為下列項目:'T^'、'T^%'、'T^&;',其中 T = 'type1'
編譯器錯誤 C2397 從 'type1' 到 'type2' 的轉換必須是縮小轉換
編譯器錯誤 C2398 元素 'number':從 'type1' 到 'type2' 的轉換必須是縮小轉換
編譯器錯誤 C2399 已過時。

另請參閱

C/C++ 編譯器與建置工具錯誤與警告
編譯器錯誤 C2001 - C3999、C7000 - C7999