代码之家  ›  专栏  ›  技术社区  ›  Ignacio Soler Garcia

为什么在这个对AfxWinInit的调用中我得到了一个警告C6309?

  •  0
  • Ignacio Soler Garcia  · 技术社区  · 15 年前

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

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

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

    提前谢谢!

    1 回复  |  直到 15 年前
        1
  •  3
  •   Hans Passant    15 年前
        friend BOOL AFXAPI AfxWinInit(_In_ HINSTANCE hInstance, _In_ HINSTANCE hPrevInstance,
                _In_z_ LPTSTR lpCmdLine, _In_ int nCmdShow);
    

    在我看来这是错的,第二个论点应该被注释为 _In_opt_ . 从 SAL Annotations 文档:


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