这是函数对象的问题么?
这是历遍链表的程序 想问下下面的语句调visit是什么用法,这里visit是指针还是函数对象下,那些书有介绍此用法的说明呀。
ListTraverse(L,visit);
void visit(ElemType c) /* 与main2-1.c不同 */
{
printf("%d ",c);
}
Status ListTraverse(LinkList L,void(*vi)(ElemType))
/* vi的形参类型为ElemType,与bo2-1.c中相应函数的形参类型ElemType&不同 */
{ /* 初始条件:线性表L已存在 */
/* 操作结果:依次对L的每个数据元素调用函数vi()。一旦vi()失败,则操作失败 */
LinkList p=L->next;
while(p)
{
vi(p->data);
p=p->next;
}
printf("\n");
return OK;