发表于 2021-1-7 16:34:23
9326 浏览 9 回复
QGC二次开发ke'c
在学习QGC二次开发课程的自定义控件那节课,编译报这个函数不接受5个参数的错误,不知如何解决,请教一下大佬们,用的3.4.0的代码。
charless已获得悬赏 1 阿木币 最佳答案
忘记截图了 在下面发
扫一扫浏览分享
楼主|
发表于 2021-1-7 16:37:25
发表于 2021-1-7 16:40:56
函数的参数传递问题吧 看一下C++的参数传递吧 接受几个参数 然后你传了几个参数
楼主|
发表于 2021-1-7 16:47:26
可以具体说下怎么弄吗 我只是刚学这个课程,到这就卡住了,代码也是跟着写的,但出问题了不会解决额
发表于 2021-1-7 16:59:53
这个是C/C++编程语言的知识哦 建议你先补一下C++课程 里面的 函数 部分的知识。 拿最简单的C语言举例,声明一个函数int add(int a, int b ) 那么你在调用这个函数,做add(5,4)的时候 ,就只能传2个参数,不能传3个,传3个参数就会报错。就是你那个 函数不接受5个参数的错误。要去看函数的定义和声明的地方。
发表于 2021-1-7 17:01:20
去找定义那个函数的地方,应该传的参数类型和参数个数。
楼主|
发表于 2021-1-7 17:16:52
static inline uint16_t mavlink_msg_param_request_list_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,mavlink_message_t* msg,uint8_t target_system,uint8_t target_component)
它这个函数也是需要定义5个参数呀
发表于 2021-1-7 17:21:58
那看一下括号,标点符号那些啊。是不是多括了一些参数进来。写代码要追求完美主义。。。
发表于 2021-1-7 17:26:11
楼主|
发表于 2021-1-8 09:04:35
对的 应该要6个参数 我代码那里也是写了6个参数,但是它说不接受5个参数,是不是有一个参数无效呢,那怎么找出哪个参数不对呢