我有一个宏,它以参数列表作为参数,如下所示:
#define func(returnType, name, args) \
static inline returnType fn_ ## name ## impl args; \
DLL_EXPORT returnType fn_ ## name args { \
// What to do here? \
} \
static inline returnType fn_ ## name ## impl args \
旨在像这样使用:
func(void, a, (int a, float b)) {
std::cout << a << " " << b << "\n";
}
我的问题是我需要获取给定的参数列表,使用它来定义函数的头部并将参数传递给实现。
有没有办法从参数列表中去除类型,这样我就会留下&#34;(a,b)&#34; from&#34;(int a,float b)&#34;?
我尝试使用可变参数模板,但我需要使用extern&#34; C&#34;为了利用来自另一个应用程序的C ++库,它不知道如何编译C ++代码。因此,不知道如何处理名称修改等。 从我收集到的内容来看,我还没有找到任何方法来使用extern&#34; C&#34;来导出这些可变参数模板。