我想使用 _Generic 来重载函数,其中一个没有参数,比如:
#include <stdio.h>
#include <string.h>
void f1(void)
{
printf("F1\n");
}
void f2(int n)
{
printf("F2 %d\n", n);
}
#define func(x) _Generic((x), \
int: f2, \
default: f1 \
)(x)
int main(void)
{
func(); // I want this to call f1
return 0;
}
这可能吗?