关于函数重载的问题
我定义了几个结构体,A、B、C分别构成了三个链表,现在我要释放他们,对于A,我可以写函数
void freeA(A *pHead)
{
A* p = pHead;
A* q;
while(NULL != p )
{
q = p->next ;
free(p);
p = q;
}
return;
}
释放B链表时再写一个同上的函数,但A全改成B
使用时,调用的是同一个函数名,但由于重载,传递的参数类型不同编译器就会知道调用哪个函数了
但因为三个函数结构功能都是一样的,我在想可不可以只写一个FreeLink函数,让它自动判断是什么结构体类型
(或者不用判断,直接释放指针指向的结构体块),而不用写三个同名不同参函数。
各位大神,帮帮忙,说不定有知道的,能让我优化一下自己的程序,谢谢