【发布时间】:2010-06-23 16:59:24
【问题描述】:
在为“if-condition”编写宏时需要一些帮助,该宏仅在#define 指令定义了 DEBUG 标志时编译。
这是一个说明我想要什么的例子。第一段代码显示了使用#ifdef 编写if 条件的常用方法。
#ifdef DEBUG
if( rv == false )
{
string errorStr = "error in return value" ;
cout << errorStr << endl ;
throw( Exception(errorStr) ) ;
}
我想写成类似下面这样的方式:
DEBUG_IF( rv==false )
{
same code as above
}
这似乎很简单,但我在定义一个可以做到这一点的宏时遇到了麻烦。如果有人以前遇到过这种情况,请提供帮助。
谢谢。
【问题讨论】:
-
仅供参考,发布代码时,选择它并单击
10101图标以获取正确的格式。 -
我想知道为什么是-1。对我来说似乎是一个不错的问题。
-
@jalf:因为它含糊不清。而且因为我的代表不是 5 的倍数,这让我很烦恼。 :)
-
#if 0 as a define的可能重复
-
这可能是一个副本,但这个标题更好。