我试图重载函数与C11 _Generic
宏是这样的:使用在C11的_Generic宏无法
int isPrim_int (int num);
int isPrim_lint (long int num);
int isPrim_llint (long long int num);
#define isPrim(_1, ...) _Generic((_1), \
int: isPrim_int, \
long int: isPrim_lint, \
long long int: isPrim_llint)
但对于使用isPrim()
总是返回1,使用特定的三种功能isPrim_int
当某种原因,isPrim_lint
和isPrim_llint
它按预期工作。任何线索什么是错误的我使用宏?
非常感谢!
你怎么称呼它?呼叫代码怎么没有显示? – AnT
我测试了三个函数本身的函数实现,所以我认为错误是与宏实现和实际功能不相关的问题;) –