【发布时间】:2012-08-05 14:03:59
【问题描述】:
我想使用这样的宏
#define Return(x) {call_my_function(); return (x);}
有什么方法可以使用或声明不带括号的宏,所以我可以像真正的返回调用而不是函数一样使用它?例如:
BOOL my_func() {
code....
Return FALSE;
}
【问题讨论】:
-
#define Return call_myfunction(); return怎么样? -
@KerrekSB 啊,你打败了我 :)
-
@KerrekSB - 这不适用于
if (someCondition()) Return FALSE; -
恕我直言 - 避免使用宏和
#define,除了简单的东西。我想这就是 C++ 试图从语言中尽可能多地删除它们的原因。无论如何,请记住它是一个简单的替换(没有类型检查,没有范围,nowt)。只需简单的搜索和替换。
标签: c c-preprocessor parentheses