C++ UNREFERENCED_PARAMETER函数的作用

新建win32 application程序,会有这样一段代码

int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
                     _In_opt_ HINSTANCE hPrevInstance,
                     _In_ LPWSTR    lpCmdLine,
                     _In_ int       nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);

}

这个UNREFERENCED_PARAMETER(hPrevInstance)的意思就是告诉编译器,这个hPrevInstance参数我使用过了,别报警告了,仅此而已。

为什么有时候就算不写这句话,编译器也不会报警告呢?是因为你的编译器没有设置到最高等级(lev-4),VS2015默认的警告等级是lev-3。


设置方法如下:

project->项目名称+properties...->C/C++->Waring level->选择Level4 (/W4)。


设置完后再去掉这句代码,再编译,编译器就会提示:
Warning    C4100    'hPrevInstance': unreferenced formal parameter ,既该参数没有被引用



posted @ 2017-09-08 15:41  birdhumen鸟人  阅读(523)  评论(0编辑  收藏  举报