【发布时间】:2016-11-09 14:46:10
【问题描述】:
我需要一个宏/模板函数,它将包装特定对象上某些方法的函数调用,即
a.Destroy()
其中 a 可以是任何类型,并且 Destroy 和 Destroy 可能采用也可能不采用 0 到 n 个参数。在这个包装器中,我需要做一些检查。
我希望能够将此函数作为包装器调用:
DESTROY_CHECK(a.Destroy(p1,p2,...))
或
DESTROY_CHECK(a, Destroy(p1,p2,...))
我怎样才能做到这一点?
【问题讨论】:
-
你能发一个真实的使用例子吗?我假设您的意思不是将文字省略号传递给函数调用?
-
你会用 C++11 吗?
-
可以,我更喜欢使用 c+11 功能而不是宏
标签: c++ templates variadic-templates variadic-macros