gpt4 book ai didi

c - 如何将函数指针作为参数传递?

转载 作者:太空宇宙 更新时间:2023-11-04 03:42:48 24 4
gpt4 key购买 nike

我有两个函数定义

void USART_puts(USART_TypeDef* USARTx, volatile char *s)
{
.....
}


void send_packet(char op, unsigned char *data, unsigned char len)
{
....
}

现在我已经为 send_packet(char,unsigned char*,unsigned char) 创建了一个函数指针作为

void (*send_packet)(char,unsigned char*,unsigned char);

我想像这样传递这个函数指针

 USART_Puts(USART1,send_packet)    

但是我得到一个错误“send_packet * 类型的参数与 volatile char * 类型不兼容”我可以从错误中了解到两个参数不匹配。但是谁能告诉我如何传递这个函数指针?

最佳答案

USART_Puts需要有一个函数指针类型的参数。

void USART_puts(USART_TypeDef* USARTx, void (*s)(char,unsigned char*,unsigned char))

send_packet 定义为函数后定义为指针是不必要的。两个这样的同名声明甚至不应该共存。

关于c - 如何将函数指针作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27221225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com