Ошибки компилятора с C2200 по C2299
В статьях в этом разделе документации объясняется подмножество сообщений об ошибках, создаваемых компилятором.
Внимание
Компиляторы и средства сборки Visual Studio могут сообщать о многих типах ошибок и предупреждений. После обнаружения ошибки или предупреждения средства сборки могут делать предположения о намерении кода и пытаться продолжить работу, чтобы в одно и то же время сообщалось больше проблем. Если средства делают неверное предположение, последующие ошибки или предупреждения не могут применяться к проекту. При устранении проблем в проекте всегда начинайте с первой зарегистрированной ошибки (или предупреждения) и выполняйте повторную сборку как можно чаще. Одно исправление может привести к возникновению многих последующих ошибок.
Чтобы получить справку по определенному диагностическом сообщению в Visual Studio, выберите его в окне вывода и нажмите клавишу F1 . Visual Studio открывает страницу документации для этой ошибки, если она существует. Вы также можете использовать средство поиска в верхней части страницы, чтобы найти статьи об определенных ошибках или предупреждениях. Или просмотрите список ошибок и предупреждений по инструменту и введите оглавление на этой странице.
Примечание.
Не все ошибки или предупреждения Visual Studio документируются. Во многих случаях диагностическое сообщение предоставляет все доступные сведения. Если вы приземлились на этой странице при использовании F1 , и вы думаете, что сообщение об ошибке или предупреждении требует дополнительного объяснения, сообщите нам об этом. Вы можете использовать кнопки обратной связи на этой странице, чтобы вызвать проблему документации на GitHub. Если вы считаете, что ошибка или предупреждение неправильно, или вы нашли другую проблему с набором инструментов, сообщите о проблеме продукта на сайте Сообщество разработчиков. Вы также можете отправлять отзывы и вводить ошибки в интегрированной среде разработки. В Visual Studio перейдите в строку меню и выберите "Отправить отзыв о > проблеме" или отправьте предложение с помощью справки > по отправке > отзывов > отправить предложение. Некоторые разделы об ошибках компилятора были созданы, которые не создаются компилятором и теперь перенаправляются на эту страницу.
Вы можете найти дополнительную помощь по ошибкам и предупреждениям на форумах Microsoft Learn Q&A . Или найдите номер ошибки или предупреждения на сайте Сообщество разработчиков Visual Studio C++. Вы также можете искать решения в стеке Overflow .
Ссылки на дополнительные справочные материалы и ресурсы сообщества см. в разделе справки и сообщества Visual C++.
Сообщения об ошибках
Ошибка | Сообщение |
---|---|
Ошибка компилятора C2200 | "function": функция уже определена |
Ошибка компилятора C2201 | "идентификатор": должна иметь внешнюю компоновку для экспорта и импорта |
Ошибка компилятора C2202 | Function: не все пути управления возвращают значение |
Ошибка компилятора C2203 | Оператор delete не может указать границы для массива |
Ошибка компилятора C2204 | "type": определение типа, найденное в скобках |
Ошибка компилятора C2205 | "идентификатор": не удается инициализировать экстерн-переменные с областью блока |
Ошибка компилятора C2206 | "function": typedef нельзя использовать для определения функции |
Ошибка компилятора C2207 | "member": член шаблона класса не может получить тип функции |
Ошибка компилятора C2208 | "type": элементы, определенные с помощью этого типа, не определены |
Ошибка компилятора C2209 | "identifier": псевдонимы не могут использоваться в объявлениях конструктора |
Ошибка компилятора C2210 | "идентификатор": расширения пакетов нельзя использовать в качестве аргументов для непакетных параметров в шаблонах псевдонимов |
Ошибка компилятора C2211 | Не-виртуальный деструктор в классе ссылок, производный от класса ссылок с общедоступным деструктором, также должен быть открытым |
Ошибка компилятора C2212 | "идентификатор": __based недоступны для указателей на функции |
Ошибка компилятора C2213 | "идентификатор": недопустимый аргумент для __based |
Ошибка компилятора C2214 | Указатели на основе "void" требуют использования:> |
Ошибка компилятора C2215 | "ключевое слово" нельзя использовать с "/arch:SSE" |
Ошибка компилятора C2216 | "keyword1" нельзя использовать с "keyword2" |
Ошибка компилятора C2217 | Для атрибута1 требуется атрибут2. |
Ошибка компилятора C2218 | "calltype" нельзя использовать с "/arch:IA32" |
Ошибка компилятора C2219 | ошибка синтаксиса: квалификатор типа должен быть после "*" |
Ошибка компилятора C2220 | предупреждение, обработанное как ошибка, — файл "filetype" не создан |
Ошибка компилятора C2221 | Является устаревшей. |
Ошибка компилятора C22222 | непредвиденный тип "type": ожидается базовый класс или член |
Ошибка компилятора C2223 | слева от "->identifier" должен указывать на структуру или объединение |
Ошибка компилятора C2224 | слева от '.Идентификатор должен иметь тип структуры или объединения |
Ошибка компилятора C2225 | Является устаревшей. |
Ошибка компилятора C2226 | синтаксическая ошибка: непредвиденный тип "type" |
Ошибка компилятора C2227 | слева от "->identifier" должен указывать на класс/структуру/объединение/универсальный тип |
Ошибка компилятора C2228 | слева от '.идентификатор должен иметь класс/структуру/объединение |
Ошибка компилятора C2229 | class/struct/union "type" имеет недопустимый массив нулевого размера |
Ошибка компилятора C2230 | не удалось найти модуль "name" |
Ошибка компилятора C2231 | '.идентификатор: левый операнд указывает на "class/struct/union", используйте "->" |
Ошибка компилятора C2232 | "->identifier": левый операнд имеет тип "class/struct/union", используйте "". |
Ошибка компилятора C2233 | "идентификатор": массивы объектов, содержащих массивы нулевого размера, являются незаконными |
Ошибка компилятора C2234 | идентификатор:массивы ссылок являются незаконными |
Ошибка компилятора C2235 | Является устаревшей. |
Ошибка компилятора C2236 | непредвиденный маркер "token". Возможно, вы забыли «;»? |
Ошибка компилятора C2237 | Объявление нескольких модулей |
Ошибка компилятора C2238 | непредвиденные маркеры, предшествующие "токену" |
Ошибка компилятора C2239 | Function: попытка удалить функцию __declspec(dllexport) |
Ошибка компилятора C2240 | Является устаревшей. |
Ошибка компилятора C2241 | "идентификатор": доступ к члену ограничен |
Ошибка компилятора C2242 | имя typedef не может следовать за классом, структурой или объединением |
Ошибка компилятора C2243 | "conversion_type": преобразование из "type1" в "type2" существует, но недоступно |
Ошибка компилятора C2244 | "идентификатор": не удается сопоставить определение функции с существующим объявлением |
Ошибка компилятора C2245 | Несуществующая функция-член "function", указанная как друг (подпись функции-члена не соответствует какой-либо перегрузке) |
Ошибка компилятора C2246 | "идентификатор": недопустимый статический элемент данных в локально определенном классе |
Ошибка компилятора C2247 | "идентификатор" недоступен, так как класс1 использует "описатель" для наследования от класса2. |
Ошибка компилятора C2248 | "идентификатор": не удается получить доступ к члену специальных возможностей, объявленному в классе "class" |
Ошибка компилятора C2249 | "идентификатор": нет доступного пути к члену специальных возможностей, объявленному в виртуальной базе "класс" |
Ошибка компилятора C2250 | "идентификатор": неоднозначное наследование класса::member |
Ошибка компилятора C2251 | Пространство имен "пространство имен" не имеет члена "идентификатор" - означает ли вы "член"? |
Ошибка компилятора C2252 | Явное создание экземпляра шаблона может происходить только в области пространства имен |
Ошибка компилятора C2253 | "function": чистый описатель или абстрактный описатель, разрешенный только для виртуальной функции |
Ошибка компилятора C2254 | "function": чистый описатель или абстрактный описатель переопределения не разрешен для функции friend |
Ошибка компилятора C2255 | Элемент: не допускается вне определения класса |
Ошибка компилятора C2256 | незаконное использование описатель друга в функции |
Ошибка компилятора C2257 | "описатель": описатель не разрешен в типе возвращаемого значения в пути |
Ошибка компилятора C2258 | недопустимый строгий синтаксис, требуется "= 0" |
Ошибка компилятора C2259 | Class: не удается создать экземпляр абстрактного класса |
Ошибка компилятора C2260 | "описатель": недопустимый описатель сборки InternalsVisibleToAttribute |
Ошибка компилятора C2261 | "string": ссылка на сборку недопустима и не может быть разрешена |
Ошибка компилятора C2262 | "описатель": объявления InternalsVisibleTo не могут иметь версию, язык и региональные параметры или архитектуру процессора. |
Ошибка компилятора C2263 | Является устаревшей. |
Ошибка компилятора C2264 | "function": ошибка в определении или объявлении функции; функция не вызывается |
Ошибка компилятора C2265 | Является устаревшей. |
Ошибка компилятора C2266 | "идентификатор": ссылка на неконстантный ограничивающий массив является незаконным |
Ошибка компилятора C2267 | "function": статические функции с областью блокировки являются незаконными |
Ошибка компилятора C2268 | Функция — это предопределенный вспомогательный средство компилятора библиотеки. Вспомогательные средства библиотеки не поддерживаются с /GL; скомпилируйте файл объекта filename без /GL. |
Ошибка компилятора C2269 | не может создать указатель или ссылку на квалифицированный тип функции (требуется указатель на член) |
Ошибка компилятора C2270 | "function": модификаторы не разрешены для функций nonmember |
Ошибка компилятора C2271 | "function": new/delete не может иметь формальные модификаторы списка |
Ошибка компилятора C2272 | "function": модификаторы не разрешены для статических функций-членов |
Ошибка компилятора C2273 | "type": недопустимый в правой части оператора "->" |
Ошибка компилятора C2274 | "type": недопустимый в правой части оператора ". |
Ошибка компилятора C2275 | "type": незаконное использование этого типа в качестве выражения |
Ошибка компилятора C2276 | Оператор: недопустимая операция с выражением связанной функции-члена |
Ошибка компилятора C2277 | Function: не может принимать адрес этой функции-члена. |
Ошибка компилятора C2278 | Является устаревшей. |
Ошибка компилятора C2279 | Спецификация исключения не может отображаться в объявлении typedef |
Ошибка компилятора C2280 | Class::function: попытка ссылаться на удаленную функцию |
Ошибка компилятора C2281 | Класс::function: функция может быть удалена только в первом объявлении. |
Ошибка компилятора C2282 | Функция1 не может переопределить function2 |
Ошибка компилятора C2283 | "identifer": чистый описатель или абстрактный описатель не разрешен для неназванного класса/структуры |
Ошибка компилятора C2284 | Function: недопустимый аргумент встроенной функции, номер параметра |
Ошибка компилятора C2285 | Указатели на представление элементов уже определены - pragma игнорируется |
Ошибка компилятора C2286 | Указатели на элементы представления "идентификатор" уже заданы для наследования - объявление игнорируется |
Ошибка компилятора C2287 | "идентификатор": представление наследования: "наследование" меньше, чем необходимое "наследование" |
Ошибка компилятора C2288 | Является устаревшей. |
Ошибка компилятора C2289 | Множественное использование одного и того же квалификатора типа |
Ошибка компилятора C2290 | Синтаксис C++ "asm" игнорируется. Используйте __asm. |
Ошибка компилятора C2291 | Невозможно экспортировать анонимное пространство имен. |
Ошибка компилятора C2292 | "идентификатор": лучшее представление наследования регистра: наследование1, объявленное, но "наследование2" требуется |
Ошибка компилятора C2293 | "идентификатор": недопустимо иметь переменную-член в качестве описателя __based |
Ошибка компилятора C2294 | не удается экспортировать символ "идентификатор", так как он имеет внутреннюю компоновку |
Ошибка компилятора C2295 | Escaped "символ": является незаконным в определении макроса |
Ошибка компилятора C2296 | Оператор: недопустимый, левый операнд имеет тип "type" |
Ошибка компилятора C2297 | "оператор": недопустимый, правый операнд имеет тип "type" |
Ошибка компилятора C2298 | Отсутствующий вызов привязки указателя к функции-члену |
Ошибка компилятора C2299 | "function": изменение поведения: явная специализация не может быть конструктором копирования или оператором назначения копирования |
См. также
Компилятор C/C++ и средства сборки ошибок и предупреждений
Ошибки компилятора C2001 — C3999, C7000 — C7999