新建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 ,既该参数没有被引用