ROS学习过程中的错误记录3 - 回调函数易出现的错误(C++)

博客主要讲述了ROS编译过程中出现的错误,错误原因是回调函数类型手残写成bool型,实际无返回值。修改后编译顺利通过。同时总结了经验,如遇到错误冷静分析、及时记录问题、注意细节、修改程序后及时备份保存、编译时注意编译范围等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译过程中出现如下错误:

/home/jack/dhrobot_ws/src/dhrobot_demo/src/up_down_demo.cpp:62:84: error: no matching function for call to ‘ros::NodeHandle::subscribe(const
char [15], int, bool (&)(const Bool&))’
ros::Subscriber marker_arm_flag = n.subscribe(“arm_cmd_talker”,10,marker_arm_back);
^
在这里插入图片描述
在这里插入图片描述
wtf,,,,祥哥表示一脸懵逼,我明明是写了回调函数的啊?!?!?!wtf,,,,祥哥表示一脸懵逼,我明明是写了回调函数的啊 ? ! ? ! ? !wtf,,,,,?!?!?!

赶紧把codefather简鸡蛋同志叫过来看了一眼,大佬不愧是大佬,一语惊醒梦中人!!!赶紧把code father简鸡蛋同志叫过来看了一眼,大佬不愧是大佬,一语惊醒梦中人!!!codefather,,!!!
在这里插入图片描述
回调函数的类型手残写成了bool型,而人家明明没有返回值,难怪编译器找不到它0.0回调函数的类型手残写成了bool型,而人家明明没有返回值,难怪编译器找不到它0.0bool,,0.0

在这里插入图片描述
修改完再次执行编译命令(切记切记,一定要先保存修改的程序再编译),编译顺利通过.修改完再次执行编译命令(切记切记,一定要先保存修改的程序再编译),编译顺利通过.(,),.
在这里插入图片描述

总结:
  • 小白总是手高眼低,遇到错误要先冷静分析一下
  • 遇到的问题要及时记录,防止后续重复遇到此问题
  • 细节一定要注意,修改完程序及时备份与保存
  • 编译时要注意是否成功对你要编译的程序进行了编译
  • 如果指定一个功能包进行编译,再编译整个工作过程时会出现重复编译之前指定的功能包的情况(而不是编译整个工作空间),因此要使用catkin_make -DCATKIN_WHITELIST_PACKAGES=''命令进行编译
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值