編譯器錯誤 C2100 至 C2199
此文件區段的文章會說明編譯器所產生錯誤訊息的子集。
重要
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++ 說明與社群。
錯誤訊息
錯誤 | 訊息 |
---|---|
編譯器錯誤 C2100 | 不合法的間接取值 |
編譯器錯誤 C2101 | 不可在常數上使用 '&' |
編譯器錯誤 C2102 | '&' 需要左值 (l-value) |
編譯器錯誤 C2103 | 不可在暫存器變數上使用 '&' |
編譯器錯誤 C2104 | 位元欄位上的 '&' 被忽略 |
編譯器錯誤 C2105 | 'operator' 需要左值 (l-value) |
編譯器錯誤 C2106 | 'operator': 左運算元必須是左值 (l-value) |
編譯器錯誤 C2107 | 不合法的索引,不允許間接取值 |
編譯器錯誤 C2108 | 下標不是整數類型 |
編譯器錯誤 C2109 | 下標需要陣列或指標類型 |
編譯器錯誤 C2110 | '+':無法將兩個指標相加 |
編譯器錯誤 C2111 | '+': 指標相加需要整數運算元 |
編譯器錯誤 C2112 | '-': 指標相減需要整數或指標運算元 |
編譯器錯誤 C2113 | '-': 指標只能和另一個指標相減 |
編譯器錯誤 C2114 | 'operator': 指標在左邊;右邊需要整數值 |
編譯器錯誤 C2115 | 'operator': 不相容的類型 |
編譯器錯誤 C2116 | 函式參數清單相異 |
編譯器錯誤 C2117 | 'identifier': 陣列界限溢位 |
編譯器錯誤 C2118 | 負下標 |
編譯器錯誤 C2119 | 'identifier': 無法從空的初始設定式推斷 'type' 的類型 |
編譯器錯誤 C2120 | 'void' 對於所有類型都是不合法的 |
編譯器錯誤 C2121 | '#': 無效的字元: 可能是巨集展開的結果 |
編譯器錯誤 C2122 | 'identifier': 名稱清單中的原型參數不合法 |
編譯器錯誤 C2123 | 'identifier': 別名範本不能被明確或部分特製化 |
編譯器錯誤 C2124 | 除以 0 或取除以 0 的餘數 |
編譯器錯誤 C2125 | 'constexpr' 與 'token' 不相容 |
編譯器錯誤 C2126 | 'identifier' 不能以 'constexpr' 識別碼宣告 |
編譯器錯誤 C2127 | 'identifier': 以非常數運算式初始化 'constexpr' 實體不合法 |
編譯器錯誤 C2128 | 'function': alloc_text/same_seg 僅適用於使用 C 連結的函式 |
編譯器錯誤 C2129 | 已經宣告靜態函式 'identifier' 但尚未定義 |
編譯器錯誤 C2130 | #line 必須有包含檔名的字串,但只找到 'token' |
編譯器錯誤 C2131 | 運算式未評估為常數 |
編譯器錯誤 C2132 | 語法錯誤:未預期的識別碼 |
編譯器錯誤 C2133 | 'identifier':未知的大小 |
編譯器錯誤 C2134 | 'function': 呼叫未產生常數運算式 |
編譯器錯誤 C2135 | 'operator': 不合法的位元欄位運算 |
編譯器錯誤 C2136 | 不允許撰寫 API 合約 |
編譯器錯誤 C2137 | 空白的字元常數 |
編譯器錯誤 C2138 | 沒有使用任何成員來定義列舉類型是不合法的 |
編譯器錯誤 C2139 | 'class': 未定義的類別不允許做為編譯器內建的類型特性 'trait' 的引數 |
編譯器錯誤 C2140 | 'type': 取決於泛型類型參數的類型,不允許做為編譯器內建的類型特性 'trait' 的引數 |
編譯器錯誤 C2141 | 陣列大小溢位 |
編譯器錯誤 C2142 | 函式宣告不同,只能在其中之一指定變數參數 |
編譯器錯誤 C2143 | 語法錯誤:在 'token2' 之前遺漏 'token1' |
編譯器錯誤 C2144 | 語法錯誤:'type' 前面應有 'token2' |
編譯器錯誤 C2145 | 語法錯誤:在識別碼之前遺漏 'token' |
編譯器錯誤 C2146 | 語法錯誤:在識別碼 'identifier' 之前遺漏 'token' |
編譯器錯誤 C2147 | 語法錯誤:'token' 是 new 關鍵字 |
編譯器錯誤 C2148 | 陣列的總大小不得超過 0xvalue 個位元組 |
編譯器錯誤 C2149 | 'identifier': 具名的位元欄位寬度不能為零 |
編譯器錯誤 C2150 | 'identifier': 'identifier' : 位元欄位必須是 'int'、'signed int' 或 'unsigned int' 類型 |
編譯器錯誤 C2151 | 有一個以上的語言屬性 |
編譯器錯誤 C2152 | 'identifier': 具有不同屬性的函式指標 |
編譯器錯誤 C2153 | 整數常值必須至少有一位數 |
編譯器錯誤 C2154 | 'type': 僅允許列舉類型做為編譯器內建類型特性 'trait' 的引數 |
編譯器錯誤 C2155 | '?': 無效的左運算元,必須是算術或指標類型 |
編譯器錯誤 C2156 | Pragma 必須定義在函式之外 |
編譯器錯誤 C2157 | 'identifier': 在 pragma 清單中使用之前必須先宣告 |
編譯器錯誤 C2158 | 'type': #pragma make_public directive 指示詞目前僅支援原生非範本類型 |
編譯器錯誤 C2159 | 已經指定一個以上的儲存類別 |
編譯器錯誤 C2160 | '##' 不可以出現在巨集定義開頭 |
編譯器錯誤 C2161 | '##' 不可以出現在巨集定義結尾 |
編譯器錯誤 C2162 | 預期是巨集形式參數 |
編譯器錯誤 C2163 | 'function': 不可用作內建函式 |
編譯器錯誤 C2164 | function': 內建函式未宣告 |
編譯器錯誤 C2165 | 'modifier': 無法修飾指向資料的指標 |
編譯器錯誤 C2166 | 左值 (l-value) 指定 const 物件 |
編譯器錯誤 C2167 | 'function': 內建函式的實際參數太多 |
編譯器錯誤 C2168 | 'function': 內建函式的實際參數太少 |
編譯器錯誤 C2169 | 'function': 內建函式無法被定義 |
編譯器錯誤 C2170 | 'identifier': 未宣告為函式,不可為內建 |
編譯器錯誤 C2171 | 'operator': 類型 'type' 的運算元不合法 |
編譯器錯誤 C2172 | 'function': 實際參數不是指標:參數 number |
編譯器錯誤 C2173 | 'function': 實際參數不是指標:參數 number,參數清單 number |
編譯器錯誤 C2174 | 'function':實際參數具有類型 'void':參數 number,參數清單 number |
編譯器錯誤 C2175 | 'locale': 無效的地區設定 |
編譯器錯誤 C2176 | return 陳述式不能出現在建構函式相關之 function-try-block 的處理常式中 |
編譯器錯誤 C2177 | 常數太大 |
編譯器錯誤 C2178 | 'identifier' 不能以 'specifier' 識別碼宣告 |
編譯器錯誤 C2179 | 'type': 屬性引數不能使用類型參數 |
編譯器錯誤 C2180 | 控制運算式具有類型 'type' |
編譯器錯誤 C2181 | 不合法的 else (沒有相符的 if) |
編譯器錯誤 C2182 | 'identifier': 類型 'void' 的使用不合法 |
編譯器錯誤 C2183 | 語法錯誤:編譯單位是空白的 |
編譯器錯誤 C2184 | 'type': 對 __except 運算式不合法的類型 |
編譯器錯誤 C2185 | 'identifier': 基於不合法的配置 |
編譯器錯誤 C2186 | 'operator': 類型 'void' 的運算元不合法 |
編譯器錯誤 C2187 | 語法錯誤:這裡不應有 'token' |
編譯器錯誤 C2188 | 'number': 對於寬字元而言太大 |
編譯器錯誤 C2189 | 'alignas' 屬性不適用於位元欄位、函式參數、例外狀況宣告,或以 'register' 儲存類別宣告的變數 |
編譯器錯誤 C2190 | 第一次宣告的參數清單比第二次宣告的長 |
編譯器錯誤 C2191 | 第二個參數清單比第一個參數清單長 |
編譯器錯誤 C2192 | 參數 'number' 宣告不同 |
編譯器錯誤 C2193 | 'identifier': 已在區段中 |
編譯器錯誤 C2194 | 'identifier': 是文字區段 |
編譯器錯誤 C2195 | 'identifier': 是資料區段 |
編譯器錯誤 C2196 | 已經使用 case 值 'value' |
編譯器錯誤 C2197 | 'function': 呼叫的引數太多 |
編譯器錯誤 C2198 | 'function': 呼叫的引數太少 |
編譯器錯誤 C2199 | 語法錯誤:在全域範圍發現了 'identifier (' (是打算進行宣告嗎?) |