假设我已经设置了一个宏扩展如下......
#define WARN_START @"DANGER"
#define WARN_RESET @"THE COAST IS CLEAR"
#define WARN(x) WARN_START x WARN_RESET
INPUT WARN(@"*** Your boss is coming. ***")
OUTPUTDANGER *** Your boss is coming. *** THE COAST IS CLEAR
✅</p>
假设我有一个函数……</p>
NSString * WhosComing(void){ return @"*** Some fool. ***"; }
如何在不先将其分配给变量的情况下将此类函数的结果传递给宏,即
WARN(WhosComing())
ERRORexpected ')'
我搞砸了额外的括号,即
#define WARN((x))
…… 或者……WARN_START (x) WARN_RESET
但是……</p>
ERRORinvalid operands to binary expression
, ETC。
以及尝试将 cuntion 作为指针或其他东西传递,即WARN(&WhosComing())
无济于事。我确信这是可能的/直接的……但我没有计算机科学学位,所以我从来没有学过……对某人来说容易回答吗?