警告 C6387:<argument> 可能是 <value>: 这不符合函数 <function name> 的规范: 行: x, y
如果将意外的值传递给带批注的函数参数,会引发此警告。例如,如果将可能为null的值传递给标记 _In_ 批注的参数会生成此警告。
示例
在下面的代码中,因为向 f(char *) 传递一个 null 参数,所以会生成此警告:
#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