首页 > 其他 > 详细

"void (*)(ElemType c)" 类型的实参与 "Status (*)(ElemType)" 类型的形参不兼容

时间:2020-09-22 22:52:43      阅读:154      评论:0      收藏:0      [点我收藏+]

写了一个遍历函数调用前面定义的 print()函数

报错信息:"void (*)(ElemType c)" 类型的实参与 "Status (*)(ElemType)" 类型的形参不兼容

ListTraverseBack(L, print);
void print(ElemType c)
{
    printf("%d ", c);
}
void ListTraverseBack(DuLinkList L, Status(*visit)(ElemType))
{// 由双链循环线性表L的头结点出发,逆序对每个数据元素调用函数visit()。 **** 新增 ****
    DuLinkList p = L->prior;    //p指向尾结点
    while (p!=L)    //p未指向头结点
    {
        visit(p->data);    //对p所指结点调用函数 visit()
        p = p->prior;    //p指向前一个结点
    }
    printf("\n");
}

报错原因:遍历函数 ListTraverse(xxxx, Status xxxx) 定义的形参是 Status,但是print()函数定义的时候定义的是 void,统一为void即可

"void (*)(ElemType c)" 类型的实参与 "Status (*)(ElemType)" 类型的形参不兼容

原文:https://www.cnblogs.com/LeoCathyFelix/p/13715096.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!