FUNC(param);
当param
为char *
时,派发给func_string
。
当它是int
时,调度到func_int
我认为可能有一个解决方案,因为变量类型在编译时是已知的..
最佳答案
这将通过 C1X 成为可能但不在当前标准中。
它看起来像这样:
#define cbrt(X) _Generic((X), long double: cbrtl, \
default: cbrt, \
float: cbrtf)(X)
关于c - 如何在 C 中实现通用宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7256203/