首页 > 解决方案 > C 中不兼容的指针类型 || 无效(*)(无效*)

问题描述

我有两个函数,控制台说指针不兼容 void printList(tList, void(void*)) 我传递的函数是 void printUser(tUser*); printList(user->friends, printUser); 有人能帮帮我吗?我不明白那有什么问题。

标签: cfunctionpointersfunction-pointers

解决方案


您需要一个将 avoid *作为参数而不是 atUser *作为参数的函数。将您的更改void printUser(tUser*)void printUser(void*),然后在 的定义中printUser,您可以将参数转换为它需要的类型:

void printUser(void *arg) {
    tUser *casted_arg = (tUser *)arg;
    [...]
}

推荐阅读