【发布时间】:2019-10-20 11:54:10
【问题描述】:
我有两个功能:
void A (void(*fptr)(void*))
void B(void* string)
在main中,我这样调用函数A;
char* bird = (char*)malloc(sizeof(char)*100)
strcpy(bird, "bird");
A((*B)(bird)); //error: invalid use of void expression
但是,当我尝试编译程序时,调用函数 A 时出现错误。我很确定我没有正确使用函数指针。有人可以给我一些指导吗?
【问题讨论】:
-
你期望
*B是什么? -
指向函数的指针
-
A()只接受一个参数(指向函数的指针)。*B不是指向函数的指针。
标签: c compiler-errors c89