分享方式:


編譯器錯誤 C2500 至 C2599

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

重要

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++ 說明與社群

錯誤訊息

錯誤 訊息
編譯器錯誤 C2500 'identifier1': 'identifier2' 已經是直接基底類別
編譯器錯誤 C2501 'identifier': '__declspec(specifier)' 只能套用至結構、等位、類別或未簽署的位元欄位成員
編譯器錯誤 C2502 'identifier': 在基底類別上有太多存取修飾詞
編譯器錯誤 C2503 'class': 基底類別不可以包含大小為零的陣列
編譯器錯誤 C2504 'class': 基底類別未定義
編譯器錯誤 C2505 'symbol': '__declspec(specifier)' 只能套用至全域物件或靜態資料成員的宣告或定義
編譯器錯誤 C2506 'member': '__declspec(specifier)' 不可套用至這個符號
編譯器錯誤 C2507 'identifier': 在基底類別上有太多虛擬修飾元
編譯器錯誤 C2508 'identifier': '__declspec(specifier1)' 無法與 '__declspec(specifier2)' 合併
編譯器錯誤 C2509 'identifier': 成員函式在 'class' 中未宣告
編譯器錯誤 C2510 'identifier': '::' 的左邊必須是類別/結構/等位
編譯器錯誤 C2511 'identifier': 在 'class' 找不到多載成員函式
編譯器錯誤 C2512 'identifier': 沒有適當的預設建構函式
編譯器錯誤 C2513 '*type': 在 '=' 之前沒有宣告變數
編譯器錯誤 C2514 'class': 類別沒有建構函式
編譯器錯誤 C2515 'identifier': 'vtguard' 只能套用至類別宣告或定義
編譯器錯誤 C2516 'class': 不是合法的基底類別
編譯器錯誤 C2517 'identifier': '::' 的右邊未定義
編譯器錯誤 C2518 關鍵字 'keyword' 在基底類別清單中為非法,已略過
編譯器錯誤 C2519 'identifier': WinRT 屬性只能包含公用欄位
編譯器錯誤 C2520 'class': 沒有適用於隱含建構函式的非明確建構函式
編譯器錯誤 C2521 解構函式/完成項不接受任何引數
編譯器錯誤 C2522 'identifier': 多載識別項不能用在 'identifier1',因為已在 'identifier2' 上指定此識別項
編譯器錯誤 C2523 'class::~identifier': 解構函式/完成項標籤不相符
編譯器錯誤 C2524 'identifier': 解構函式/完成項必須有 'void' 參數清單
編譯器錯誤 C2525 'identifier': 已在基底函式上將參數 'identifier1' 命名為 'identifier2',所以在已發佈實作中必須相符
編譯器錯誤 C2526 'identifier1': C 連結函式無法傳回 C++ 類別 'identifier2'
編譯器錯誤 C2527 'identifier': DefaultOverload 無法同時在 'function1' 和 'function2' 上指定。 在實作期間移除一個規格或重新命名函式
編譯器錯誤 C2528 'identifier': 參考的指標非法
編譯器錯誤 C2529 'identifier': 參考的參考非法
編譯器錯誤 C2530 'identifier': 參考必須初始化
編譯器錯誤 C2531 'identifier': 位元欄位的參考非法
編譯器錯誤 C2532 'identifier': 參考的修飾元非法
編譯器錯誤 C2533 'identifier': 建構函式不允許傳回型別
編譯器錯誤 C2534 'identifier': 建構函式不可以傳回值
編譯器錯誤 C2535 'identifier': 已經定義或宣告成員函式
編譯器錯誤 C2536 已過時。
編譯器錯誤 C2537 'specifier': 非法連結規格
編譯器錯誤 C2538 已過時。
編譯器錯誤 C2539 已過時。
編譯器錯誤 C2540 非常數運算式當做陣列界限
編譯器錯誤 C2541 'identifier': 無法刪除不是指標的物件
編譯器錯誤 C2542 'identifier': 類別物件沒有初始化所需的建構函式
編譯器錯誤 C2543 運算子 '[]' 必須有 ']'
編譯器錯誤 C2544 運算子 '()' 必須有 ')'
編譯器錯誤 C2545 'operator': 找不到多載運算子
編譯器錯誤 C2546 'identifier': 當 PIA 和非 PIA 中都定義了一個類型時,必須先參考 PIA
編譯器錯誤 C2547 'identifier': 已發佈方法的所有參數都必須在宣告時明確命名
編譯器錯誤 C2548 'function': 遺漏參數 parameter 的預設參數
編譯器錯誤 C2549 使用者定義轉換不可以指定傳回類型
編譯器錯誤 C2550 'identifier': 建構函式初始設定式清單只允許在建構函式定義上
編譯器錯誤 C2551 'void *' 類型需要明確轉換
編譯器錯誤 C2552 'identifier': 非彙總無法以初始設定式清單初始化
編譯器錯誤 C2553 'type derived_class::function': 覆寫虛擬函式傳回類型不同於 'type base_class::function'
編譯器錯誤 C2555 'derived_class::function': 覆寫虛擬函式傳回類型不同於 'base_class::function' 且不是 Covariant
編譯器錯誤 C2556 'type1 class::function': 多載函式僅在傳回類型與 'type2 class::function' 不同
編譯器錯誤 C2557 'identifier': 沒有建構函式無法初始化 private 和 protected 成員
編譯器錯誤 C2558 類別 'class': 沒有可用的複製建構函式或是複製建構函式宣告為 'explicit'
編譯器錯誤 C2559 'identifier': 不可以使用指定 ref-qualifier 的成員函式,來多載未指定 ref-qualifier 的成員函式
編譯器錯誤 C2560 'identifier': 不可以使用指定 ref-qualifier 的成員函式,來多載未指定 ref-qualifier 的成員函式
編譯器錯誤 C2561 'function': 函式必須傳回值
編譯器錯誤 C2562 'function': 'void' 函式正在傳回值
編譯器錯誤 C2563 在型式參數清單中不相符
編譯器錯誤 C2564 已過時。
編譯器錯誤 C2565 'identifier': ref-qualifier 對於建構函式/解構函式不合法
編譯器錯誤 C2566 在條件運算式中的多載函式
編譯器錯誤 C2567 無法在 'filename' 中開啟中繼資料,possible_reason
編譯器錯誤 C2568 'identifier': 無法解析函式多載
編譯器錯誤 C2569 'identifier': 列舉/等位不能當做基底類別,請變更為類別或結構
編譯器錯誤 C2570 'identifier': 等位不可以具有基底類別
編譯器錯誤 C2571 'identifier': 虛擬函式不可以在等位 'union' 中
編譯器錯誤 C2572 'function': 預設引數重複定義: 參數 number
編譯器錯誤 C2573 'class': 無法刪除指向此類型物件的指標; 類別沒有 'operator delete' 的未定位多載。 使用 ::delete,或將 'operator delete(void*)' 新增至類別
編譯器錯誤 C2574 'destructor': 不可以宣告為靜態
編譯器錯誤 C2575 'identifier': 只有成員函式和基底可以是虛擬
編譯器錯誤 C2576 'identifier': 不能以 'public' 方式引入新的虛擬方法。 請考慮將方法設定非虛擬方法,或將可及性變更為 'internal' 或 'protected private'
編譯器錯誤 C2577 'identifier': 解構函式/完成項不能有傳回類型
編譯器錯誤 C2578 'class': 類型不可以有 'protected' 或 'protected public' 建構函式
編譯器錯誤 C2579 無法解析類型 type (offset)。 預期是 filename
編譯器錯誤 C2580 'identifier': 不允許預設特殊成員函式有多種版本
編譯器錯誤 C2581 'type': 靜態 'operator =' 函式非法
編譯器錯誤 C2582 'operator operator' 函式無法在 'type' 中使用
編譯器錯誤 C2583 'identifier': 'const/volatile' 'this' 指標對於建構函式/解構函式非法
編譯器錯誤 C2584 'class': 直接基底 'base_class2' 無法存取;已經是 'base_class1' 的基底
編譯器錯誤 C2585 明確轉換為 'type' 的作業模稜兩可,可能產生多種結果
編譯器錯誤 C2586 不正確的使用者定義轉換語法:間接取值不合法
編譯器錯誤 C2587 'identifier': 將區域變數當做預設參數的使用方式非法
編譯器錯誤 C2588 '::~identifier': 非法全域解構函式/完成項
編譯器錯誤 C2589 'identifier': '::' 右邊的語彙基元非法
編譯器錯誤 C2590 'identifier': 只有建構函式可以有基底/成員初始設定式清單
編譯器錯誤 C2591 ExclusiveTo 無法使用 'type' 作為引數。 只有 'ref class' 是有效的引數
編譯器錯誤 C2592 'class': 'base_class2' 繼承自 'base_class1',不能重新指定
編譯器錯誤 C2593 'operator identifier' 模棱兩可
編譯器錯誤 C2594 'operator': 從 'type1' 到 'type2' 的轉換模棱兩可
編譯器錯誤 C2595 'identifier' WinRT 屬性必須是密封的
編譯器錯誤 C2596 'identifier' WinRT 屬性欄位只能是 'public enum class'、'int'、'unsigned int'、'bool'、'Platform::Type'、'Platform::String' 或 'Windows::Foundation::HResult'
編譯器錯誤 C2597 參考非靜態成員 'identifier' 是非法的
編譯器錯誤 C2598 連結規格必須在全域範圍內
編譯器錯誤 C2599 'identifier': 不允許受控/WinRT 列舉的向前宣告

另請參閱

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