_Generic
我在 Wikipedia 上阅读了这个 C11 的示例:
#define cbrt(X) _Generic((X), long double: cbrtl, \
default: cbrt, \
float: cbrtf)(X)
似乎很清楚如何将它用于只有一个参数的函数,但我看不到用这个系统编写具有两个(或更多)泛型参数的函数的方法。怎么可能?
如果某些编译器支持此功能,我会尝试一些事情,但我也找不到,所以我无法找到有关如何做到这一点的任何想法。