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


C28722

предупреждение C28722: ненататированный буфер в объявлении функции

Это предупреждение указывает, что буфер, переданный в качестве параметра функции или возвращаемый функцией, должен быть аннотирован языком заметки исходного кода Майкрософт (SAL). Средства статического анализа могут использовать такие заметки для обнаружения переполнения буфера во время компиляции.

В настоящее время с этим предупреждением диагностируются только неконстантные буферы.

Пример

В следующем примере кода создается это предупреждение.

int foo( LPTSTR buffer, size_t cch );  

В следующем примере кода избежать этого предупреждения с помощью заметки SAL _Out_writes_ указать, что вызываемая функция записывает в буфер и что буфер не может иметь значение NULL. Заметка указывает, что буфер состоит из элементов cch.

int foo( _Out_writes_(cch) LPTSTR buffer, size_t cch );