Поделиться через


Анализ кода для предупреждений C/C++

В этом разделе перечислены предупреждения анализа кода C/C++ от C1250 до C28351.

В этом подразделе

Номер предупреждения

Описание

C1250

предупреждение C1250: Не удается загрузить подключаемый модуль.

C1252

предупреждение C1252: Подключаемый модуль отсутствует или существует циклическая зависимость: требуется идентификатор GUID.

C1253

предупреждение C1253: Не удалось загрузить файл модели

C1254

предупреждение C1254: Несоответствие версий подключаемого модуля: "версия не соответствует версии драйвера PREfast.

C1255

предупреждение C1255: Недопустимая длина данных PCH для подключаемого модуля.

C1256

предупреждение C1256: Данные PCH должны быть записаны и прочитаны

C1257

предупреждение C1257: Ошибка при инициализации подключаемого модуля

C6001

Предупреждение C6001: использование неинициализированной памяти <переменная>

C6011

Предупреждение C6011: разыменование указателя NULL <имя>

C6029

Предупреждение C6029: возможно переполнение буфера в вызове <функция>: используется непроверенное значение.

C6031

Предупреждение C6031: возвращаемое значение пропущено: <функция> может вернуть непредусмотренное значение

C6053

Предупреждение C6053: вызов <функция> может не окончить нулем строку <переменная>

C6054

Предупреждение C6054: строка <переменная> может не оканчиваться нулем

C6059

Предупреждение C6059: неверный параметр длины в вызове <функция>.Требуется количество оставшихся знаков, а не размер буфера <переменная>

C6063

Предупреждение C6063: отсутствует строковый аргумент для <функция>, соответствующий описателю преобразования <номер>

C6064

Предупреждение C6064: отсутствует целочисленный аргумент для <функции>, соответствующий описателю преобразования <номер>

C6066

Предупреждение C6066: элемент, не являющийся указателем, передан как параметр <число>, когда в вызове <функция> требуется параметр

C6067

Предупреждение C6067: параметр <номер> в вызове <функция> должен быть адресом строки.

C6101

предупреждение C6101: Возврат неинициализированной памяти

C6200

Предупреждение C6200: индекс <имя> находится вне допустимого диапазона индекса от <минимум> до <максимум> для бесстекового буфера <переменная>

C6201

Предупреждение C6201: переполнение буфера для <переменной>, которой, возможно, выделен стек: индекс <имя> находится вне допустимого диапазона индекса от <минимум> до <максимум>.

C6211

Предупреждение C6211: утечка памяти <указатель> из-за исключения.Попробуйте использовать локальный блок catch для очистки памяти.

C6214

Предупреждение C6214: приведение между семантически различными целочисленными типами: HRESULT к логическому типу.

C6215

Предупреждение C6215: приведение между семантически различными целочисленными типами: логический тип к HRESULT.

C6216

Предупреждение C6216: вставленное компилятором приведение между семантически различными целыми типами: логический тип к HRESULT

C6217

Предупреждение C6217: неявное приведение между семантически различными целочисленными типами: проверка HRESULT с "not".Попробуйте вместо этого использовать макрос SUCCEEDED или FAILED.

C6219

Предупреждение C6219: неявное приведение между семантически различными целочисленными типами: сравнение HRESULT с 1 или TRUE.Попробуйте вместо этого использовать макрос SUCCEEDED или FAILED.

C6220

Предупреждение C6220: неявное приведение между семантически различными целочисленными типами: сравнение HRESULT с -1.Попробуйте вместо этого использовать макрос SUCCEEDED или FAILED.

C6221

Предупреждение C6221: неявное приведение между семантически различными целочисленными типами: сравнение HRESULT с целым числом.Попробуйте вместо этого использовать макрос SUCCEEDED или FAILED.

C6225

Предупреждение C6225: неявное приведение между семантически различными целочисленными типами: присвоение HRESULT значения 1 или TRUE.Попробуйте вместо этого использовать S_FALSE.

C6226

Предупреждение C6226: неявное приведение между семантически различными целочисленными типами: присвоение HRESULT значения -1.Попробуйте вместо этого использовать E_FAIL.

C6230

Предупреждение C6230: неявное приведение между семантически различными целочисленными типами: использование HRESULT в логическом контексте.

C6235

Предупреждение C6235: (<ненулевая константа> || <выражение>) всегда является ненулевой константой.

C6236

Предупреждение C6236: (<выражение> || <ненулевая константа> ) всегда является ненулевой константой.

C6237

Предупреждение C6237: (<нуль> && <выражение>) всегда равно нулю.<выражение> никогда не вычисляется и может иметь побочные эффекты

C6239

Предупреждение C6239: (<ненулевая константа> && <выражение>) всегда равно результату <выражения>.Предполагалось использовать оператор побитового И?

C6240

Предупреждение C6240: (<выражение> && <ненулевая константа>) всегда равно результату <выражения>.Предполагалось использовать оператор побитового И?

C6242

Предупреждение C6242: выход за пределы данного блока try вызывает локальную очистку.При этом значительно снижается производительность.

C6244

Примечание C6244: локальное объявление <переменной> скрывает предыдущее объявление в строке <строка> файла <файл>.

C6246

Примечание C6246: локальное объявление <переменной> скрывает объявление такого же имени во внешней области.Дополнительные сведения: см. предыдущее объявление в <расположении>.

C6248

Предупреждение C6248: установка значения NULL для DACL для SECURITY_DESCRIPTOR приведет к наличию незащищенного объекта.

C6250

Предупреждение C6250: вызов <функции> VirtualFree без флага MEM_RELEASE может привести к высвобождению памяти, но не дескрипторов адресов (VAD); в результате будет утечка адресного пространства.

C6255

Предупреждение C6255: _alloca указывает наличие сбоя путем создания ошибки переполнения стека.Попробуйте вместо этого использовать _alloca_s.

C6258

Предупреждение C6258: использование TerminateThread не обеспечивает очистки потока.

C6259

Предупреждение C6259: код с сигнатурой недоступен: (<выражение> & <константа>) в switch-expr не может иметь значение <метка case>.

C6260

Предупреждение C6260: конструкция sizeof * sizeof обычно является ошибкой. Вы хотели использовать количество символов или количество байтов?

C6262

Предупреждение C6262: функция использует <константа> байт стека, что превышает /analyze:stacksize<константа>.Попробуйте переместить какие-либо данные в кучу.

C6263

Предупреждение C6263: использование _alloca в цикле может привести к быстрому переполнению стека.

C6268

предупреждение C6268: Некорректный порядок операций: (<TYPE1>)(<TYPE2>)x + y.Возможно, пропущены круглые скобки в (<TYPE1>)((<TYPE2>)x + y)

C6269

Предупреждение C6269: возможен неверный порядок операций: пропущено разыменование.

C6270

Предупреждение C6270: отсутствует аргумент с плавающей запятой в <функции>: добавьте аргумент с плавающей запятой, соответствующий определителю преобразования <номер>.

C6271

Предупреждение C6271: лишний аргумент передан <функции>: параметр <номер> не используется строкой формата.

C6272

Предупреждение C6272: передан параметр <номер>, не являющийся аргументом с плавающей запятой, тогда как в вызове <функции> требуется аргумент с плавающей запятой.

C6273

Предупреждение 6273: передан параметр <номер>, не являющийся целочисленным, тогда как в вызове <функции> требуется целочисленный аргумент. Если передается значение указателя, нужно использовать %p.

C6274

Предупреждение C6274: передан параметр <номер>, не являющийся знаком, тогда как в вызове <функции> требуется знак.

C6276

Предупреждение C6276: приведение между семантически различными строковыми типами: char* к wchar_t*.Использование неверной строки может привести к непредвиденному поведению.

C6277

Предупреждение C6277: имя приложения NULL с путем без кавычек в вызове <функции>. Возникает уязвимость безопасности, если путь содержит пробелы.

C6278

Предупреждение C6278: <переменная> выделяется с массивом new [], но удаляется скалярной операцией delete.Деструкторы не будут вызваны.

C6279

Предупреждение C6279: <переменная> выделяется скалярной операцией new, удаляется операцией массива delete [].

C6280

Предупреждение C6280: <переменная> выделяется <функцией>, но удаляется <функцией>.

C6281

Предупреждение 6281 — неверный порядок операций: операторы отношения имеют более высокий приоритет, чем побитовые операторы

C6282

Предупреждение C6282: неверный оператор: присвоение константы в логическом контексте.Рассмотрите возможность использования "==".

C6283

Предупреждение C6283: <переменная> выделяется с массивом new [], но удаляется скалярной операцией delete.

C6284

Предупреждение C6284: объект передан как параметр "%d", тогда как в вызове <функции> требуется строка.

C6285

Предупреждение C6285: (<ненулевая константа> || <ненулевая константа>) всегда является ненулевой константой.Предполагалось использовать оператор побитового И?

C6286

Предупреждение C6286: (ненулевая константа> || <выражение>) всегда является ненулевой константой.<выражение> никогда не вычисляется и может иметь побочные эффекты

C6287

Предупреждение C6287: избыточный код: левое и правое подчиненные выражения идентичны.

C6288

Предупреждение C6288: неверный оператор. Взаимное исключение && всегда равно нулю.Предполагалось использовать "||"?

C6289

Предупреждение C6289: неверный оператор. Взаимное исключение || всегда дает ненулевую константу.Предполагалось использовать "&&"?

C6290

Предупреждение C6290: побитовая операция над логическим результатом. "!"имеет более высокий приоритет, чем "&".Используйте "&&" или "(!(x & y))".

C6291

Предупреждение C6291: побитовая операция над логическим результатом. "!"имеет более высокий приоритет, чем "|".Используйте "||" или "(!(x | y))".

C6292

Предупреждение C6292: неправильно определен цикл for. Счетчик увеличивается с максимального значения.

C6293

Предупреждение C6293: неправильно определен цикл for. Счетчик уменьшается с минимального значения.

C6294

Предупреждение C6294: неправильно определен цикл for. Начальное условие не проходит проверку.Основная часть цикла не выполняется.

C6295

Предупреждение C6295: неправильно определен цикл for. Значения <переменной> находится в диапазоне от минимального до максимального.Цикл выполняется бесконечно.

C6296

Предупреждение C6296: неправильно определен цикл for. Основная часть цикла выполняется только один раз.

C6297

Предупреждение C6297: арифметическое переполнение. 32-разрядное значение сдвигается, а затем приводится к 64-разрядному значению.Результат может оказаться непредвиденным значением.

C6298

Предупреждение C6298: доступная только для чтения строка <указатель> используется в качестве доступного для записи строкового аргумента. Попытка записи в статическую память, доступную только для чтения, может привести к произвольным сбоям.

C6299

Предупреждение C6299: явное сравнение битового поля с логическим типам приведет к непредвиденным результатам.

C6302

Предупреждение C6302: несоответствие строки формата. В качестве параметра <номер>передана символьная строка; при вызове <функции> требуется строка из двухбайтных знаков

C6303

Предупреждение C6303: несоответствие строки формата. Передан параметр <номер>, являющийся широким символом, тогда как в вызове <функции> требуется символьная строка.

C6305

Предупреждение C6305: возможное несоответствие sizeof и countof.

C6306

Предупреждение C6306: неверный вызов <функции>: попробуйте использовать <функцию>, принимающую va_list в качестве аргумента.

C6308

Предупреждение C6308: "realloc" может вернуть нулевой указатель. Присвоение нулевого указателя <переменной>, которая передается в качестве аргумента для "realloc", приведет к утечки в исходном блоке памяти.

C6310

Предупреждение C6310: недопустимая константа в фильтре выражения может привести к непредвиденному поведению.

C6312

Предупреждение C6312: возможно образование бесконечного цикла. Использование константы EXCEPTION_CONTINUE_EXECUTION в выражении exception-filter внутри try-except.

C6313

Предупреждение C6313: неверный оператор. Флаг с нулевым значением нельзя проверить с помощью побитового И.Используйте проверку равенства для флагов с нулевыми значениями.

C6314

Предупреждение C6314: неверный порядок операций. Побитовое ИЛИ имеет более высокий приоритет, чем условный оператор.Добавьте скобки для уточнения.

C6315

Предупреждение C6315: неверный порядок операций. Побитовое И имеет более высокий приоритет, чем побитовое ИЛИ.Добавьте скобки для уточнения.

C6316

Предупреждение C6316: неверный оператор. Проверенное выражение является константой и отлично от нуля.Для определения установки разрядов используйте побитовое И.

C6317

Предупреждение C6317: неверный оператор. Логическое отрицание (!) не является взаимозаменяемым с дополнением до единицы (~).

C6318

Предупреждение C6318: неверное определение __try/__except. Использование EXCEPTION_CONTINUE_SEARCH или другой константы с нулевым результатом в выражении фильтра исключений.Код в блоке обработки исключений не выполняется.

C6319

Предупреждение C6319: использование оператора-запятой в выражении приводит к тому, что левый аргумент будет пропущен, если он не имеет побочных эффектов.

C6320

Предупреждение C6320: выражение фильтра исключений является константой EXCEPTION_EXECUTE_HANDLER.При этом могут быть показаны исключения, которые не предполагалось обрабатывать.

C6322

Предупреждение C6322: пустой блок _except.

C6323

Предупреждение 6323: использование арифметического оператора для логического типа.

C6324

Предупреждение C6324: возможно неверное использование <функции1>. Предполагалось использовать <функцию2>?

C6326

Предупреждение C6326: возможное сравнение константы с другой константой.

C6328

Предупреждение C6328: <тип> передается как параметр <номер>, когда <тип> требуется в вызове <функции>.

C6330

предупреждение C6330: Неверный тип, переданный в качестве параметра при вызове функции

C6331

Предупреждение C6331: недопустимый параметр. Совместная передача MEM_RELEASE и MEM_DECOMMIT для <функции> запрещена.В результате возникает сбой вызова.

C6332

Предупреждение C6332: недопустимый параметр. Передача нуля в качестве параметра dwFreeType для <функции> запрещена.В результате возникает сбой вызова.

C6333

Предупреждение C6333: недопустимый параметр. Передача MEM_RELEASE и ненулевого параметра dwSize функции <функция> запрещена.В результате возникает сбой вызова.

C6334

Предупреждение C6334: оператор sizeof применяется к выражению с оператором. Это может вызвать непредвиденные результаты.

C6335

Предупреждение C6335: утечка в обработчике данных <имя обработчика>.

C6336

Предупреждение C6336: арифметический оператор имеет более высокий приоритет, чем оператор вопроса, используйте скобки для уточнения.

C6340

предупреждение C6340: Неверный тип, переданный в качестве параметра при вызове функции

C6381

Предупреждение C6381: для завершения работы <функции> API требуется допустимый dwReason или lpMessage.

C6383

Предупреждение C6383: переполнение буфера из-за преобразования счетчика элементов в счетчик байтов. Для параметра <номер> в вызове <функции> требуется счетчик элементов.

C6384

Предупреждение C6384: деление параметра sizeof указателя на другое значение.

C6385

Предупреждение C6385: недопустимые данные. При доступе к <имя буфера> считываемый размер равен <размер1> байт, но можно прочесть <размер2> байт: строки x, y.

C6386

Предупреждение C6386: переполнение буфера. Доступ к <имя буфера>, записываемый размер <размер1> байт, но можно записать <размер2> байт: строки x, y.

C6387

Предупреждение C6387: <аргумент> может иметь значение <значение>. Это противоречит спецификации функции <имя функции>, строки x, y.

C6388

Предупреждение C6388: <аргумент> не может иметь значение <значение>, так как это противоречит спецификации функции <имя функции>, строки x, y.

C6400

Предупреждение C6400: использование <имя функции> для сравнения со строкой константы <имя строки> без учета регистра.При применении для языков, отличных от английского, могут возникнуть непредвиденные результаты.

C6401

Предупреждение C6401: использование <имя функции> на языке по умолчанию для сравнения без учета регистра со строкой константы <имя строки>.При применении для языков, отличных от английского, могут возникнуть непредвиденные результаты.

C6500

Предупреждение C6500: недопустимая аннотация: недопустимое значение свойства <имя>.

C6501

Предупреждение C6503: конфликт аннотаций. Свойство <имя> конфликтует с ранее указанным свойством.

C6503

Предупреждение C6503: конфликт аннотаций. Ссылки нельзя помечать как Null=Yes и Null=Maybe.

C6504

Предупреждение C6504: недопустимая аннотация. Указатель можно использовать только для значений типа указателя, указателя на член и массива.

C6505

Предупреждение C6505: недопустимая аннотация. Свойство MustCheck нельзя использовать для значений типа void.

C6506

Предупреждение C6506: недопустимая аннотация. Свойство <имя> можно использовать только для значений типа указатель или массив.

C6508

Предупреждение C6508: недопустимая аннотация. Доступ на запись запрещен для значений констант.

C6509

Предупреждение C6509: недопустимая аннотация. Нельзя ссылаться на "return" из предварительного условия.

C6510

Предупреждение C6506: недопустимая аннотация. Свойство NullTerminated можно использовать только для значений типа указателя или массива.

C6511

Предупреждение C6511: недопустимая аннотация. Свойство MustCheck должно иметь значение Yes или No.

C6513

Предупреждение C6513: недопустимая аннотация. Для ElementSizeConst требуются дополнительные свойства размера.

C6514

Предупреждение C6514: недопустимая аннотация. Значение свойства <имя> превышает размер массива.

C6515

Предупреждение C6515: недопустимая аннотация. Свойство <имя> можно использовать только для значений типа указателей.

C6516

Предупреждение C6516: недопустимая аннотация. Для атрибута <имя> не указаны свойства.

C6517

Предупреждение C6517: конфликт аннотаций. Невозможно указать ValidElementsConst и ValidBytesConst для нечитаемых буферов.

C6518

Предупреждение C6518: конфликт аннотаций. Невозможно указать WriteableElementsConst и WriteableBytesConst для незаписываемых буферов.

C6522

Предупреждение C6522: неверно указан размер. Требуется выражение целого типа.

C6525

Предупреждение C6525: неверно указан размер. Значение свойства может быть недопустимым.

C6526

Предупреждение C6526: неверно указан размер. Требуется выражение типа указателя или массива.

C6527

предупреждение C6527: Недопустимая аннотация: свойство “NeedsRelease” нельзя использовать для значений типа void.

C6530

Предупреждение 6530: не распознан стиль строки формата <имя>.

C6540

предупреждение C6540: Если для данной функции использовать аннотации атрибута, все ее существующие аннотации __declspec станут недействительными

C6551

предупреждение C6551: недопустимая спецификация размера: анализ выражения невозможен

C6552

предупреждение C6552: недопустимый Deref= или Notref=: анализ выражения невозможен

C6701

предупреждение C670З: Значение не является одним из допустимых значений (Yes/No/Maybe): <string>

C6702

Предупреждение C6702: Значение не является строковым значением: <string>

C6703

предупреждение C6703: Значение не является числом: <string>

C6704

предупреждение C6704: Непредвиденная ошибка выражения аннотации: <annotation> [<why>]

C6705

предупреждение C6705: Ошибка аннотации ожидает <expected_number> аргументов для аннотации <parameter>, но найдено <actual_number>.

C6706

предупреждение C6706: Непредвиденная ошибка примечания для примечания <annotation>: <why>

C6707

предупреждение C6707: Непредвиденная ошибка модели: <why>

C26100

предупреждение C26100: Состояние гонки.Переменная <var> должна быть защищена блокировкой <lock>.

C26101

предупреждение C26101: Не удается правильно использовать заблокированную операцию для переменной <var>.

C26105

предупреждение C26105: Нарушение порядка блокировки.Получение блокировки <lock> с уровнем <level> вызывает изменение порядка.

C26110

предупреждение C26110: Вызывающая сторона не может удержать блокировку <lock> до вызова функции <func>.

C26111

предупреждение C26111: Вызывающей стороне не удается освободить блокировку <lock> до вызова функции <func>.

C26112

предупреждение C26112: Вызывающая сторона не может удерживать какую-либо блокировку до вызова <func>.

C26115

предупреждение C26115: Сбой при освобождении блокировки <lock> в функции <func>.

C26116

предупреждение C26116: Сбой при получении или удержании блокировки <lock> в <func>.

C26117

предупреждение C26117: Освобождение неудержанной блокировки <lock> в функции <func>.

C26130

предупреждение C26130: Отсутствует аннотация _Requires_lock_held_(<lock>) или _No_competing_thread_ для функции <func>.В противном случае возможно состояние гонки.Переменная <var> должна быть защищена блокировкой <lock>.

C26135

предупреждение C26135: Отсутствует заметка <заметка> для функции <функция>.

C26140

предупреждение C26140: Ошибка примечания SAL параллелизма.

C26160

предупреждение C26160: Вызывающий код возможно не сумел удержать блокировку <блокировка> до вызова функции <функция>.

C26165

предупреждение C26165: Отсутствует возможность освобождения блокировки <lock> в функции <func>.

C26166

предупреждение C26166: Отсутствует возможность получения или удержания блокировки <lock> в функции <func>.

C26167

предупреждение C26167: Возможное освобождение неудерживаемой блокировки <lock> в функции <func>.

C28020

предупреждение C28020: Результат выражения <expr> в этом вызове не равен значению true

C28021

предупреждение C28021: Параметр <param>, аннотируемый <anno>, должен быть указателем

C28022

предупреждение C28022: Классы <classlist1> данной функции не совпадают с классами функции <classlist2> в typedef, используемом для ее определения.

C28023

предупреждение C28023: Назначаемая или передаваемая функция должна иметь аннотацию _Function_class_ по крайней мере для одного из классов в <classlist>.

C28024

предупреждение C28024: Функция, которой назначается указатель, аннотирована классом функции <класс>, не содержащимся в классах функции <список_классов>.

C28039

предупреждение C28039: Тип фактического параметра <operand> должен соответствовать типу <typename>

C28103

предупреждение C28103: Утечка ресурсов

C28104

предупреждение C28104: Не получен ресурс, получение которого должно происходить до выхода из функции

C28105

предупреждение C28105: Произошла утечка ресурса из-за исключения.

C28106

предупреждение C28106: Переменная уже содержит ресурс возможно вызвавший утечку

C28107

предупреждение C28107: Требуется ресурс при вызове функции

C28108

Предупреждение C28108: Переменная содержит непредвиденный ресурс

C28109

предупреждение C28109: Переменная не может быть сохранена во время вызова функции

C28112

предупреждение C28112: Обращение к переменной, доступ к которой возможен только через функцию с модификатором Interlocked, должно выполняться через такую функцию

C28113

предупреждение C28113: Обращение к локальной переменной с помощью функции с модификатором Interlocked

C28125

предупреждение C28125: Функция должна вызываться в блоке try/except

C28137

предупреждение C28137: Переменный аргумент должен быть константой (литералом).

C28138

предупреждение C28138: Константный аргумент должен быть переменным.

C28159

предупреждение C28159: Попробуйте вместо этого использовать другую функцию.

C28160

предупреждение C28160: Ошибка аннотации

C28163

предупреждение C28163: Вызов функции никогда не должен выполняться в блоке try/except:

C28164

предупреждение C28164: Аргумент передается в функцию, которая ожидает указатель на объект (а не указатель на указатель):

C28182

Разыменование пустого (NULL) указателя.

C28183

предупреждение C28183: Аргумент должен быть единственным значением, однако является копией значения, находящегося в указателе

C28193

предупреждение C28193: Переменная содержит значение, которое необходимо проверить

C28194

предупреждение C28194: Функция объявлена как присваивающая псевдоним значению в переменной, однако она не выполнила эту операцию до своего выхода

C28195

предупреждение C28195: Функция объявлена как получающая память в переменной, однако она не выполнила эту операцию до своего выхода

C28196

предупреждение C28196: Не выполнено требование.(Результат вычисления выражения не равен true).

C28197

предупреждение C28197: Возможная утечка памяти

C28198

предупреждение C28198: Возможна утечка памяти вследствие исключения.

C28199

предупреждение C28199: Возможное использование неинициализированной памяти

C28202

предупреждение C28202: Недопустимая ссылка на нестатический член.

C28203

предупреждение C28203: Неоднозначная ссылка на член класса.Может быть <name1> или <name2>

C28204

предупреждение C28204: <функция> : Только данная перегрузка или перегрузка из <имя_файла>(<строка>) аннотирована для <имя_параметра>: необходимо аннотировать обе перегрузки или ни одной из них.

C28205

предупреждение C28205: function>: _Success_ или _On_failure_, используются в неправильном контексте. <why>

C28206

предупреждение C28206: <expression> : левый операнд указывает на структуру, используйте ->

C28207

предупреждение C28207: <выражение>: левый операнд является структурой, используйте “.”

C28208

Предупреждение C28208: Функция <функция> была ранее указана с другим списком параметров в <файл>(<строка>).Некоторые средства анализа вернут неверные результаты.

C28209

предупреждение C28209: В объявлении символа найдено конфликтующее объявление.

C28210

предупреждение 28210: Аннотации для контекста _On_failure_ не должны находиться в явном предварительном контексте

C28211

предупреждение C28211: Для SAL_context ожидалось статическое имя контекста

C28212

предупреждение C28212: Для аннотации ожидалось выражение указателя

C28213

предупреждение C28213: Аннотация _Use_decl_annotations_ должна использоваться для ссылки (без изменения) перед объявлением.<why>

C28214

предупреждение C28214: Допустимые имена параметров атрибута: p1...p9.

C28215

предупреждение C28215: typefix нельзя применять к параметру, который уже имеет typefix

C28216

предупреждение C28216: Аннотация _Check_return_ применяется только к постусловиям для параметра конкретной функции.

C28217

предупреждение C28217: Для функции число параметров аннотации не совпадает с числом параметров, обнаруженных в файле.

C28218

предупреждение C28218: Для параметра функции, параметр аннотации не соответствует параметру, найденному в файле

C28219

предупреждение C28119: Для параметра аннотации ожидался член перечисления.

C28220

Предупреждение C28220: Для параметра в аннотации ожидалось целочисленное выражение

C28221

предупреждение C28221: Для параметра в аннотации ожидалось строковое выражение

C28222

предупреждение C28222: _Yes_, _No_ или _Maybe_ ожидались для аннотации

C28223

предупреждение C28223: Не найден ожидаемый токен/идентификатор для аннотации, параметр

C28224

предупреждение C28224: Аннотации требуются параметры

C28225

предупреждение C28225: Не удалось найти правильное число необходимых параметров в аннотации

C28226

предупреждение C28226: Аннотация не может также быть PrimOp (в текущем объявлении).

C28227

предупреждение C28227: Аннотация не может также быть PrimOp (см. предыдущее объявление).

C28228

предупреждение C28228: Параметр примечания: нельзя использовать тип в примечаниях

C28229

предупреждение C28229: Аннотация не поддерживает параметры

C28230

предупреждение C28230: В типе параметра нет члена.

C28231

предупреждение C28231: Аннотация доступна только для массива

C28232

предупреждение C28232: _Pre_, _Post_, or _Deref_ неприменимы для любой аннотации

C28233

предупреждение C28233: pre, post или deref применено к блоку.

C28234

предупреждение C28234: Выражение _At_ не применяется к текущей функции.

C28235

предупреждение C28235: Функция не может использоваться изолированно как аннотация.

C28236

Предупреждение C28236: Аннотацию нельзя использовать в выражениях.

C28237

предупреждение C28237: Аннотации в параметрах больше не поддерживаются

C28238

предупреждение C28238: Аннотация в параметре содержит несколько значений value, stringValue и longValue.Используйте paramn=xxx

C28239

предупреждение C28239: Аннотация в параметре одновременно содержит значение value, stringValue или longValue и выражение paramn=xxx.Используйте только paramn=xxx

C28240

предупреждение C28240: Аннотация в параметре содержит param2, но не содержит param1

C28241

предупреждение C28241: Аннотация для функции в параметре не распознана

C28243

предупреждение C28343: Аннотации для функции в параметре требуется больше разыменований, чем допускает фактический аннотируемый тип.

C28244

предупреждение C28244: Аннотация для функции содержит аннотацию параметра или внешнюю аннотацию, не поддающуюся синтаксическому анализу.

C28245

предупреждение C28245: Аннотация для функции аннотирует 'this' в функции, не являющейся членом.

C28246

Предупреждение C28246: Аннотация для функции '<name>' - параметр '<parameter>' не соответствует типу параметра

C28250

предупреждение C28250: Несогласованная аннотация для функции: предыдущий экземпляр содержит ошибку.

C28251

предупреждение C28251: Несогласованная аннотация для функции: этот экземпляр содержит ошибку

C28252

предупреждение C28252: Несогласованная аннотации для функции: параметр имеет другую аннотацию в этом экземпляре

C28253

предупреждение C28253: Несогласованная аннотация для функции: параметр имеет другие аннотации в этом экземпляре

C28254

предупреждение C28254: dynamic_cast<>() не поддерживается в аннотациях

C28262

предупреждение C28262: Синтаксическая ошибка в аннотации была найдена в функции <function> для аннотации <name>

C28263

предупреждение C28263: Во встроенной функции обнаружена синтаксическая ошибка условной аннотации

C28267

предупреждение C28267: Синтаксическая ошибка была найдена в аннотациях: аннотация <name> в функции <function>.

C28272

предупреждение C28272: Аннотация для функции: параметр не согласуется с объявлением функции при проверке.

C28273

предупреждение C28273: Подсказки функции несовместимы с ее объявлением

C28275

предупреждение C28275: Параметр _Macro_value_ имеет значение NULL

C28278

предупреждение C28278: Имя функции отображается в области без прототипов.

C28279

предупреждение C28279: Для символа обнаружен begin без соответствующего end.

C28280

предупреждение C28280: Для символа обнаружен end без соответствующего begin.

C28282

предупреждение C28282: Строки формата должны быть в предварительных условиях

C28283

предупреждение C28283: Указанная спецификация размера для символа пока не поддерживается.

C28284

предупреждение C28284: Предикаты в настоящее время не поддерживаются для символов, не являющихся функциям

C28285

предупреждение C28285: Синтаксическая ошибка в параметре функции

C28286

предупреждение C28286: Синтаксическая ошибка у конца файла

C28287

предупреждение C28287: Для функции: синтаксическая ошибка в аннотации _At_() (не распознано имя параметра).

C28288

предупреждение C28288: Для функции: синтаксическая ошибка в аннотации _At_() (недопустимое имя параметра).

C28289

предупреждение C28289: Для функции: ReadableTo или WritableTo не содержало спецификацию ограничения в качестве параметра

C28290

предупреждение C28290: Количество внешних элементов в аннотации функции превышает фактическое число параметров.

C28291

предупреждение C28291: Постусловие null/notnull в deref уровня 0 не имеет смысла для параметра <number> функции <function>

C28300

предупреждение C28300: <parameter_name>: Несовместимые типы операндов выражения для оператора <operator_name>

C28301

предупреждение C28301: Без заметок для первого объявления <функция>.<примечание1> См. <имя_файла>(<строка>).<примечание2>

C28302

предупреждение C28302: Для ссылочного параметра C++ <parameter_name> был найден лишний оператор _Deref_ в <annotation>.

C28303

предупреждение C28303: Для ссылочного параметра <parameter_name> C++, неоднозначный оператор _Deref_ был найден в <annotation>.

C28304

предупреждение C28304: Для ссылочного параметра C++ <parameter_name> неверно помещенный оператор _Notref_ применен к <token>.

C28305

предупреждение C28305: Ошибка была найдена при синтаксическом анализе <token>.

C28306

предупреждение C28306: Заметка в параметре устарела.

C28307

предупреждение C28307: Заметка в параметре устарела.

C28308

предупреждение C28308: Позиция аргумента списка формата является заметкой неправильной.

C28309

предупреждение 28309: <имя_параметра>: Операнды заметок должны быть типом целого числа, перечисления или указателя.Операнды типа void и перегруженные операторы C++ не поддерживаются.Значения с плавающей запятой округляются до целых чисел.Типы: <список_типов>.

C28350

Предупреждение C28350: Аннотация <annotation> описывает ситуацию, к которой неприменимы условия.

C28351

предупреждение C28351: Аннотация <annotation> описывает ситуацию, когда динамическое значение (переменная) не может использоваться в условии.

См. также

Другие ресурсы

Guidelines for Writing Secure Code

Анализ качества кода C/C++ с помощью метода анализа кода