C6387
предупреждение C6387: <аргумент> может иметь значение <значение>. Это противоречит спецификации функции <имя функции>, строки x, y.
Это предупреждение возникает, если параметру функции с аннотацией передается непредвиденное значение.Например, заведомо передавая значение NULL параметру, помеченному как _In_, появится данное предупреждение.
Пример
Это предупреждение возникает в следующем коде, поскольку параметр null передается функции f(char *):
#include <sal.h>
_Post_ _Null_ char * g();
void f(_In_ char *pch);
void main()
{
char *pCh = g();
f(pCh); // Warning C6387
}
Для устранения этого предупреждения используйте следующий код:
#include <sal.h>
_Post_ _Notnull_ char * g();
void f(_In_ char *pch);
void main()
{
char *pCh = g();
f(pCh);
}
См. также
Ссылки
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l