Ошибки компилятора с C3300 по C3399
В статьях в этом разделе документации объясняется подмножество сообщений об ошибках, создаваемых компилятором.
Внимание
Компиляторы и средства сборки Visual Studio могут сообщать о многих типах ошибок и предупреждений. После обнаружения ошибки или предупреждения средства сборки могут делать предположения о намерении кода и пытаться продолжить работу, чтобы в одно и то же время сообщалось больше проблем. Если средства делают неверное предположение, последующие ошибки или предупреждения не могут применяться к проекту. При устранении проблем в проекте всегда начинайте с первой зарегистрированной ошибки (или предупреждения) и выполняйте повторную сборку как можно чаще. Одно исправление может привести к возникновению многих последующих ошибок.
Чтобы получить справку по определенному диагностическом сообщению в Visual Studio, выберите его в окне вывода и нажмите клавишу F1 . Visual Studio открывает страницу документации для этой ошибки, если она существует. Вы также можете использовать средство поиска в верхней части страницы, чтобы найти статьи об определенных ошибках или предупреждениях. Или просмотрите список ошибок и предупреждений по инструменту и введите оглавление на этой странице.
Примечание.
Не все ошибки или предупреждения Visual Studio документируются. Во многих случаях диагностическое сообщение предоставляет все доступные сведения. Если вы приземлились на этой странице при использовании F1 , и вы думаете, что сообщение об ошибке или предупреждении требует дополнительного объяснения, сообщите нам об этом. Вы можете использовать кнопки обратной связи на этой странице, чтобы вызвать проблему документации на GitHub. Если вы считаете, что ошибка или предупреждение неправильно, или вы нашли другую проблему с набором инструментов, сообщите о проблеме продукта на сайте Сообщество разработчиков. Вы также можете отправлять отзывы и вводить ошибки в интегрированной среде разработки. В Visual Studio перейдите в строку меню и выберите "Отправить отзыв о > проблеме" или отправьте предложение с помощью справки > по отправке > отзывов > отправить предложение. Некоторые разделы об ошибках компилятора были созданы, которые не создаются компилятором и теперь перенаправляются на эту страницу.
Вы можете найти дополнительную помощь по ошибкам и предупреждениям на форумах Microsoft Learn Q&A . Или найдите номер ошибки или предупреждения на сайте Сообщество разработчиков Visual Studio C++. Вы также можете искать решения в стеке Overflow .
Ссылки на дополнительные справочные материалы и ресурсы сообщества см. в разделе справки и сообщества Visual C++.
Сообщения об ошибках
Ошибка | Сообщение |
---|---|
Ошибка компилятора C3300 | Символ: неправильный формат для IDL "value" |
Ошибка компилятора C3301 | "coclass": coclass не может быть интерфейсом "символ" |
Ошибка компилятора C3302 | "идентификатор": идентификатор имеет больше символов чисел |
Ошибка компилятора C3303 | "атрибут": атрибут можно использовать только для типа |
Ошибка компилятора C3304 | Является устаревшей. |
Ошибка компилятора C3305 | Является устаревшей. |
Ошибка компилятора C3306 | "template": неименованный шаблон класса или универсальный не допускается |
Ошибка компилятора C3307 | Модуль: не удается создать модуль IDL |
Ошибка компилятора C3308 | "function": прямой вызов через импортированный класс не поддерживается |
Ошибка компилятора C3309 | "ключевое слово макроса/": имя модуля не может быть макросом или ключевым словом |
Ошибка компилятора C3310 | "идентификатор": конфликт имени модуля |
Ошибка компилятора C3311 | Атрибут модуля должен быть определен в глобальной области |
Ошибка компилятора C3312 | вызываемая функция "идентификатор" не найдена для типа "type" |
Ошибка компилятора C3313 | "идентификатор": переменная не может иметь тип "type" |
Ошибка компилятора C3314 | "symbol": не поддерживаемый тип модуля IDL |
Ошибка компилятора C3315 | "function": должен быть функцией-членом |
Ошибка компилятора C3316 | Type: массив неизвестного размера нельзя использовать в операторе на основе диапазона. |
Ошибка компилятора C3317 | "идентификатор": функция перегрузки не может использоваться в качестве выражения в диапазоне для инструкции |
Ошибка компилятора C33181 | "type": массив не может иметь тип элемента, содержащий "auto " |
Ошибка компилятора C3319 | Является устаревшей. |
Ошибка компилятора C3320 | "type": тип не может иметь то же имя, что и свойство "name" модуля |
Ошибка компилятора C3321 | Список инициализатора непредвиден в этом контексте |
Ошибка компилятора C3322 | "свойство": недопустимое свойство атрибута "атрибут" |
Ошибка компилятора C3323 | "alignas" и "__declspec(align)" не допускаются для объявлений функций |
Ошибка компилятора C3324 | "property": свойство происходит несколько раз в атрибуте "атрибут" |
Ошибка компилятора C3325 | "атрибут": атрибут имеет слишком много аргументов |
Ошибка компилятора C3326 | "value": не является допустимым значением свойства "свойство" атрибута "атрибут" |
Ошибка компилятора C3327 | Property: должен указывать значение для свойства атрибута "атрибут" |
Ошибка компилятора C3328 | "атрибут": атрибут не имеет достаточно аргументов |
Ошибка компилятора C3329 | синтаксическая ошибка: ожидаемое значение token1 не "token2" |
Ошибка компилятора C3330 | " function": функция не может возвращать массив "type" |
Ошибка компилятора C3331 | "идентификатор": атрибуты для параметров разрешены только в COM-интерфейсах и соклассах |
Ошибка компилятора C3332 | "свойство": грамматика несогласованна, свойство "свойство" является обязательным и имеет значение по умолчанию |
Ошибка компилятора C3333 | "library": не удается #import поврежденной библиотеке типов |
Ошибка компилятора C3334 | директива #import не может быть выполнена для поврежденной библиотеки типов |
Ошибка компилятора C3335 | "идентификатор": существует не более одного интерфейса по умолчанию для сокласса "class" |
Ошибка компилятора C3336 | Эта операция должна выполняться в области класса |
Ошибка компилятора C3337 | "identifier": defaultvtable должен быть источником событий для класса "class" |
Ошибка компилятора C3338 | "идентификатор": может быть не более одного интерфейса по умолчанию, который также является источником событий для класса "класс" |
Ошибка компилятора C3339 | Параметр шаблона требует "class" или "typename" после списка параметров |
Ошибка компилятора C3340 | "идентификатор": интерфейс не может быть "ограниченным" и "по умолчанию" в coclass "class" |
Ошибка компилятора C3341 | "interface": интерфейс по умолчанию должен быть "двойным" или "настраиваемым" |
Ошибка компилятора C3342 | "идентификатор": неоднозначный атрибут |
Ошибка компилятора C3343 | "class::name": идентификатор атрибута имеет слишком много символов |
Ошибка компилятора C3344 | Не удается определить явную специализацию или частичную специализацию символа. |
Ошибка компилятора C3345 | "name": недопустимый идентификатор для имени модуля |
Ошибка компилятора C3346 | экспортируемое объявление в области, отличной от пространства имен |
Ошибка компилятора C3347 | "argument": обязательный аргумент не указан в имени атрибута |
Ошибка компилятора C3348 | Экспортированные шаблоны не являются частью текущих стандартов C++ |
Ошибка компилятора C3349 | "class::member": атрибут многоадресной рассылки уже реализован с помощью имени поставщика |
Ошибка компилятора C3350 | "function": конструктор делегата ожидает аргументы числа |
Ошибка компилятора C3351 | Функция: при передаче экземпляра объекта NULL конструктору делегата также необходимо передать адрес статической функции-члена. |
Ошибка компилятора C3352 | "function": указанная функция не соответствует типу делегата "type" |
Ошибка компилятора C3353 | "идентификатор": делегат может быть создан только из глобальной функции или функции-члена управляемого или winRT типа |
Ошибка компилятора C3354 | "идентификатор": функция, используемая для создания делегата, не может иметь тип возвращаемого типа "type" |
Ошибка компилятора C3355 | Class::member: атрибут многоадресной рассылки прослушивает поставщик "provider1", но реализуется поставщиком "provider2" |
Ошибка компилятора C3356 | "идентификатор": не удается вызвать атрибут многоадресной рассылки с полным именем |
Ошибка компилятора C3357 | "attribute": атрибут неоднозначный, должен использовать полное имя |
Ошибка компилятора C3358 | Символ: символ не найден |
Ошибка компилятора C3359 | "специализация": не удается специализировать шаблон |
Ошибка компилятора C3360 | String: не удается создать имя |
Ошибка компилятора C3361 | Нет контекста, в котором нужно выполнить действие |
Ошибка компилятора C3362 | Class::member: атрибут многоадресной рассылки не реализован |
Ошибка компилятора C3363 | "identifier": "typeid" может применяться только к типу |
Ошибка компилятора C3364 | 'function': недопустимый аргумент для конструктора делегата; целевой объект делегата должен быть указателем на функцию-член |
Ошибка компилятора C3365 | оператор "operator": отличаются операнды типа "тип" и "тип" |
Ошибка компилятора C3366 | Member: статические элементы данных управляемых и WinRT типов должны быть определены в определении класса. |
Ошибка компилятора C3367 | ' function': не удается использовать статическую функцию для создания несвязанного делегата |
Ошибка компилятора C3368 | "декларатор": недопустимое соглашение о вызове для IDL |
Ошибка компилятора C3369 | "module": idl_module уже определен |
Ошибка компилятора C3370 | "module": idl_module еще не определен |
Ошибка компилятора C3371 | idl_module: здесь допускается только свойство "name" |
Ошибка компилятора C3372 | должен указать по крайней мере 1 интерфейс атрибута "атрибут" в coclass |
Ошибка компилятора C3373 | атрибут "атрибут" не принимает аргументов, кроме coclass |
Ошибка компилятора C3374 | не может принимать адрес функции, если только не создание экземпляра делегата |
Ошибка компилятора C3375 | "function": неоднозначная функция делегата |
Ошибка компилятора C3376 | "template": разрешены только статические шаблоны элементов данных |
Ошибка компилятора C3377 | "decltype(auto)" не допускается в новом выражении (устаревшее в Visual Studio 2022.) |
Ошибка компилятора C3378 | Объявление можно экспортировать только из единицы интерфейса модуля. |
Ошибка компилятора C3379 | "class": вложенный класс не может иметь описатель доступа к сборке в рамках объявления. |
Ошибка компилятора C3380 | "описатель": недопустимый описатель доступа к сборке — разрешены только "public" или "private" |
Ошибка компилятора C3381 | "описатель": описатели доступа к сборке доступны только в коде, скомпилированном с параметром /clr |
Ошибка компилятора C3382 | sizeof при использовании параметра /clr:safe не поддерживается |
Ошибка компилятора C3383 | operator new при использовании параметра /clr:safe не поддерживается |
Ошибка компилятора C3384 | "type": ограничение значения и ограничение ссылок являются взаимоисключающими |
Ошибка компилятора C3385 | "function": функция, которая имеет настраиваемый атрибут DllImport, не может возвращать экземпляр класса |
Ошибка компилятора C3386 | "type": нельзя применить __declspec(dllexport)/__declspec(dllimport) к типу managed/WinRT |
Ошибка компилятора C3387 | Member: не удается применить __declspec(dllexport)/__declspec(dllimport) к члену управляемого/типа WinRT. |
Ошибка компилятора C3388 | "token": не допускается в качестве ограничения, при условии, что "value" продолжит синтаксический анализ |
Ошибка компилятора C3389 | __declspec(описатель) нельзя использовать с /clr:pure или /clr:safe |
Ошибка компилятора C3390 | "type": недопустимый аргумент типа для универсального параметра "параметр" универсального типа "generic_type", должен быть ссылочным типом |
Ошибка компилятора C3391 | "type": недопустимый аргумент типа для универсального параметра "параметр" универсального "generic_type", должен быть типом значения, не допускающего значения NULL. |
Ошибка компилятора C3392 | "type": недопустимый аргумент типа для универсального параметра "параметр" универсального "generic_type", должен иметь открытый конструктор без параметров |
Ошибка компилятора C3393 | синтаксическая ошибка в предложении ограничения: "идентификатор" не является типом |
Ошибка компилятора C3394 | синтаксическая ошибка в предложении ограничения: найдено "символ" ожидается тип |
Ошибка компилятора C3395 | 'function' : __declspec(dllexport) нельзя применить к функции с соглашением о вызовах __clrcall |
Ошибка компилятора C3396 | Класс.member:custom attribute not found in 'namespace' (Пространство имен) |
Ошибка компилятора C3397 | Агрегатная инициализация не допускается в аргументах по умолчанию |
Ошибка компилятора C3398 | Оператор: не удается преобразовать из типа в тип. Исходное выражение должно являться символом функции |
Ошибка компилятора C3399 | "type": не удается указать аргументы при создании экземпляра универсального параметра |
1-Больше не создается в Visual Studio 2022 версии 17.11
См. также
Компилятор C/C++ и средства сборки ошибок и предупреждений
Ошибки компилятора C2000 — C3999, C7000 — C7999