这里有一个疑惑,不是很明白,请问函数指针作为形参的时候是怎么声明的?

我在ucosii系统移植的时候app.c文件里看到有这样的,
os_err = OSTaskCreateExt((void (*)(void *)) App_TaskStart).这是什么意思?不是应该用
OSTaskCreateExt((void (*App_TaskStart)(void *)) ).这样声明的吗?

函数式编程
浏览 343回答 2
2回答

缥缈止盈

(void (*)(void *)) App_TaskStart在这里是将App_TaskStart的类型强制转换成void类型的函数指针,此函数指针带一个void类型的指针参数

慕娘9325324

这边确实是 将App_TaskStart类型强转成 void(*)(void *)类型,类型强转的语法:(目标类型)原类型,而你所说的void (*App_TaskStart)(void *)是定义一个 函数指针!
打开App,查看更多内容
随时随地看视频慕课网APP