分享方式:


編譯器錯誤 C3100 到 C3199

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

重要

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

錯誤訊息

錯誤 訊息
編譯器錯誤 C3100 「識別碼」:未知的屬性限定詞
編譯器錯誤 C3101 對具名屬性引數「識別碼」為非法的運算式
編譯器錯誤 C3102 已過時。
編譯器錯誤 C3103 「識別碼」:重複的具名引數
編譯器錯誤 C3104 不合法的屬性引數
編譯器錯誤 C3105 「符號」:不可用作為屬性
編譯器錯誤 C3106 「屬性」:未具名引數必須在具名引數前面
編譯器錯誤 C3107 「屬性」:無法定義原生屬性的成員函式
編譯器錯誤 C3108 因為初始設定式清單不是運算式,所以無法推算類型
編譯器錯誤 C3109 「識別碼」:介面方法必須使用 '__stdcall' 或 '__cdecl' 呼叫慣例
編譯器錯誤 C3110 「函式」:您無法多載 COM 介面方法
編譯器錯誤 C3111 初始設定式清單不得用為範本參數的預設引數
編譯器錯誤 C3112 「介面」:只可以在全域或命名空間範圍宣告介面
編譯器錯誤 C3113 「介面/列舉」不可為範本/泛型
編譯器錯誤 C3114 「識別碼」:不是有效的具名屬性引數
編譯器錯誤 C3115 「屬性」:「建構」上不允許此屬性
編譯器錯誤 C3116 「指定名稱」:介面方法的無效儲存類別
編譯器錯誤 C3117 「介面」:介面只可以有一個基底類別
編譯器錯誤 C3118 「介面」:介面不支援虛擬繼承
編譯器錯誤 C3119 不可使用 alignas(void)
編譯器錯誤 C3120 「識別碼」:介面方法無法使用變數引數清單
編譯器錯誤 C3121 無法變更類別「類別」的 GUID
編譯器錯誤 C3122 「介面」:WinRT 泛型介面不能有 GUID
編譯器錯誤 C3123 WinRT 泛型介面不能有條件約束
編譯器錯誤 C3124 'signed char' 不是有效的 WinRT 資料類型。 請改用 'unsigned char'、'wchar_t' 或 'signed short'。
編譯器錯誤 C3125 「類型」:類型無法直接或間接衍生自 'Platform::Exception'
編譯器錯誤 C3126 不可在受控/WinRT 類型「類型」內定義聯集「聯集」
編譯器錯誤 C3127 「類型」:「特性」特性只能用於 WinRT ref 類別
編譯器錯誤 C3128 「類型」沒有由「類型」引入的 vtable
編譯器錯誤 C3129 「類型」:__default_vptr_for_base 只能用於本機定義的多型類型和基底
編譯器錯誤 C3130 編譯器內部錯誤:無法將插入程式碼區塊寫入至 PDB
編譯器錯誤 C3131 專案必須擁有具有 'name' 屬性的 'module' 屬性
編譯器錯誤 C3132 「參數」:參數陣列只可套用至類型為 'single-dimensional managed/WinRT array' 的型式引數
編譯器錯誤 C3133 屬性不可套用至 C++ varargs
編譯器錯誤 C3134 「值」:屬性引數「引數」的值沒有有效的類型「類型」
編譯器錯誤 C3135 「識別碼」:屬性不可以有 'const' 或 'volatile' 類型
編譯器錯誤 C3136 「介面」:COM 介面只可以繼承自其他 COM 介面,而「介面」不是 COM 介面
編譯器錯誤 C3137 「識別碼」:無法初始化屬性
編譯器錯誤 C3138 「識別碼」:「屬性」介面必須繼承自 IDispatch,或是從 IDispatch 繼承的介面
編譯器錯誤 C3139 「類型」:沒有成員就無法匯出 UDT
編譯器錯誤 C3140 無法在相同編譯單位擁有多個 'module' 屬性
編譯器錯誤 C3141 「介面」:介面只支援公用繼承
編譯器錯誤 C3142 「屬性」:您無法取得屬性的位址
編譯器錯誤 C3143 「引數」:屬性引數不可以有多個值
編譯器錯誤 C3144 「屬性」:屬性需要明確的引數,「引數」未命名
編譯器錯誤 C3145 「識別碼」:全域或靜態變數不可以有受控/WinRT 類型「類型」
編譯器錯誤 C3146 已過時。
編譯器錯誤 C3147 已過時。
編譯器錯誤 C3148 已過時。
編譯器錯誤 C3149 「類型」:沒有最上層「語彙基元」無法在這裡使用這個類型
編譯器錯誤 C3150 「建構」:「屬性」只可以套用至類別、結構、介面、陣列或指標
編譯器錯誤 C3151 已過時。
編譯器錯誤 C3152 「函式」:「關鍵字」只能套用至類別、結構或虛擬成員函式
編譯器錯誤 C3153 「介面」:您無法建立介面的執行個體
編譯器錯誤 C3154 在省略符號之前必須是 ','。 參數陣列函式不支援非逗號分隔的省略符號。
編譯器錯誤 C3155 屬性索引子中不得使用屬性
編譯器錯誤 C3156 「類別」:不可有受控/WinRT 類型的區域定義
編譯器錯誤 C3157 ParamArray 屬性只可套用至最後一個參數
編譯器錯誤 C3158 「函式」:「關鍵字」只能套用至虛擬成員函式
編譯器錯誤 C3159 「識別碼」:無法宣告實值型別的指標陣列
編譯器錯誤 C3160 「類型」:受控/WinRT 類別的資料成員不能有這種類型
編譯器錯誤 C3161 「介面」:介面中有巢狀類別、結構或介面是不合法的,類別或結構中有巢狀介面也是不合法的
編譯器錯誤 C3162 「類型」:具有解構函式的參考類型不可做為靜態資料成員「成員」的類型
編譯器錯誤 C3163 「類別」屬性與先前的宣告不一致
編譯器錯誤 C3164 已過時。
編譯器錯誤 C3165 「值」:無法轉換成整數或浮點數值
編譯器錯誤 C3166 已過時。 「類型」:受控/WinRT 類別的資料成員不能使用類型 'pointer_type' (會宣告指向內部 'managed_pointer_type' 的指標)
編譯器錯誤 C3167 無法初始化 .NET Framework:請確定已經安裝此平台
編譯器錯誤 C3168 「類型」:對列舉不合法的基礎類型
編譯器錯誤 C3169 「類型」:無法從「類型」推算「自動」的類型
編譯器錯誤 C3170 每個專案中不能有多個模組識別項
編譯器錯誤 C3171 「模組」:不可以在專案中指定不同的模組屬性
編譯器錯誤 C3172 「識別碼」:不可以在專案中指定不同的 idl_module 屬性
編譯器錯誤 C3173 在 idl 合併中版本不相符
編譯器錯誤 C3174 未指定模組屬性
編譯器錯誤 C3175 「函式」:不可以在非受控函式「函式」中呼叫受控類型的方法
編譯器錯誤 C3176 「類型」:無法宣告區域實值型別
編譯器錯誤 C3177 您無法將轉換函式轉換成包含「類型」的類型 (在 Visual Studio 2022 中已淘汰。)
編譯器錯誤 C3178 「類型」:無法在具有預設引數的函式中使用 ParamArray (在 Visual Studio 2022 中已淘汰。)
編譯器錯誤 C3179 不允許有未命名的受控/WinRT 類型
編譯器錯誤 C3180 「類型」:名稱超出中繼資料數字字元的限制
編譯器錯誤 C3181 「類型」:運算子的運算元無效
編譯器錯誤 C3182 「類型」:在受控/WinRT 類型中有 using 宣告或存取宣告的成員是不合法的
編譯器錯誤 C3183 無法在受控/WinRT 類型「類別」內部定義未命名的類別、結構或聯集
編譯器錯誤 C3184 已過時。
編譯器錯誤 C3185 'typeid':已在受控/WinRT 類型「類型」上使用,請改用「運算子」
編譯器錯誤 C3186 已過時。
編譯器錯誤 C3187 「識別碼」:只能用於函式主體中
編譯器錯誤 C3188 已過時。
編譯器錯誤 C3189 'typeid<declarator>':不再支援此語法,請改用 ::typeid (在 Visual Studio 2022 中已淘汰。)
編譯器錯誤 C3190 「宣告子」:具有所提供範本引數不是「類型」任何成員函式的明確具現化
編譯器錯誤 C3191 已過時。
編譯器錯誤 C3192 語法錯誤:'^' 不是前置運算子 (您是不是指 '*'?)
編譯器錯誤 C3193 「建構」:需要 '/clr' 或 '/ZW' 命令列選項
編譯器錯誤 C3194 「類型」:實值類型不能有指派運算子
編譯器錯誤 C3195 「關鍵字」:已保留,不能用作為 ref 類別或實值型別的成員。 必須使用「運算子」關鍵字定義 CLR/WinRT 運算子
編譯器錯誤 C3196 「識別碼」:使用了一次以上
編譯器錯誤 C3197 「關鍵字」:只能在定義中使用
編譯器錯誤 C3198 浮點 pragma 使用方式無效:fenv_access pragma 只能在精確模式運作
編譯器錯誤 C3199 浮點 pragma 使用方式無效:非精確模式不支援例外狀況

另請參閱

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