UNREFERENCED_PARAMETER 定义在 winNt.h 中:#define UNREFERENCED_PARAMETER(P) (P) 实际上,它并没有做其他什么事情,只是想简单的告诉一下编译器,不要过于吹毛求疵的发出警告。
比如在 Visual studio 2008 中新建一个默认的 Win32 项目,在程序里自动生成代码里会看到:
[C++] 纯文本查看 复制代码 int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
...
在整个程序中,我们并没有使用到 hPrevInstance 和 lpCmdLine 。可以先屏蔽这两条语句,然后在 VS 里调整编译级别为 4 ,调整方法如下:
在“项目”里选择“工程属性”,在“配置选项”的“C/C++"的”常规“里,在右边的对话框中可调整”警告等级“。
在编译一次,在编译日志文件中可以看到下面的警告信息::\documents\visual studio 2008\projects\win32main\win32main\win32main.cpp(22) : warning C4100: “lpCmdLine”: 未引用的形参
d:\documents\visual studio 2008\projects\win32main\win32main\win32main.cpp(21) : warning C4100: “hPrevInstance”: 未引用的形参
如果再次打开两条语句,那么这两条警告信息就不会再出现。 |