曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4518|回复: 0
打印 上一主题 下一主题

UNREFERENCED_PARAMETER 宏

[复制链接]

4917

主题

5879

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34382
跳转到指定楼层
楼主
发表于 2012-1-21 14:28:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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”: 未引用的形参

如果再次打开两条语句,那么这两条警告信息就不会再出现。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-16 09:14 , Processed in 0.098543 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表