【发布时间】:2013-10-14 20:34:29
【问题描述】:
假设我有一个第三方库,它提供了一个类似函数的 ThirdPartyMacro 宏,即:
- 可变参数并接受任意标记,而不仅仅是格式良好的 C++ 表达式。解析参数后,ThirdPartyMacro 会提取一些标记,这些标记假定为标识符,表示其调用范围内的变量,并按原样使用它们。
- 计算为已知类型的某个值。
- 可能会抛出
ThirdPartyException类型的异常
我想通过编写一个宏 MyMacro 来结束这一切,它的行为与 ThirdPartyMacro 完全相同,但只要 ThirdPartyMacro 会抛出 ThirdPartyException,就会抛出 MyException。
有可能吗?如果有,怎么做?
不是因为 (1) MyMacro 不能是函数,因为它的参数不能作为函数参数传递。
【问题讨论】: