gpt4 book ai didi

c++ - 为什么在调用 AfxWinInit 时收到警告 C6309?

转载 作者:行者123 更新时间:2023-11-28 01:10:44 30 4
gpt4 key购买 nike

在进行一些静态代码分析时,我发现了一个奇怪的代码。在这样的电话中:

if(!AfxWinInit(moduleHandle,NULL,::GetCommandLine(),0)

我在第二个参数处收到警告 C6309(C6309:参数 2 为空:它不符合 AfxWinInit 的函数规范)

文档说对于 Win32 应用程序,第二个参数必须为 NULL,所以问题是:

a) 我的代码、AfxWinInit 声明或静态代码分析出了什么问题?

提前致谢!

最佳答案

    friend BOOL AFXAPI AfxWinInit(_In_ HINSTANCE hInstance, _In_ HINSTANCE hPrevInstance,
_In_z_ LPTSTR lpCmdLine, _In_ int nCmdShow);

我觉得这不对,第二个参数应该被注释为 _In_opt_。来自SAL Annotations文档:

optional
描述缓冲区本身是否可选。这些注释可以应用于参数层、返回值层或前/后层中的值。

  • (无)指向缓冲区的指针不能为 NULL。
  • 选择_指向缓冲区的指针可能为 NULL。在取消引用之前将对其进行检查。

关于c++ - 为什么在调用 AfxWinInit 时收到警告 C6309?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3494137/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com