对于诸如下面的函数,我怎样才能使void *函数有点像c ++模板。我以前做过,但是不记得如何正确地重建它。
float add(float a, float b)
{
return a + b;
}
int add(int a, int b)
{
return a + b;
}
我认为它几乎类似于
void* fun(void *a)
{
return (void*)a;
}
但是以上方法不起作用。 我该如何解决以上问题。
答案 0 :(得分:1)
您可以定义这样的宏。
#define add(x,y) ((x)+(y))
但是,在使用宏时应小心,因为在预处理之后仅会发生文本替换。理想情况下,内联函数应优先于宏。
对于您的特定用例,您应该阅读generic selections。