编译过程中出现如下错误:
/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,,,,祥哥表示一脸懵逼,我明明是写了回调函数的啊?!?!?!

赶紧把codefather简鸡蛋同志叫过来看了一眼,大佬不愧是大佬,一语惊醒梦中人!!!
在这里插入图片描述

回调函数的类型手残写成了bool型,而人家明明没有返回值,难怪编译器找不到它0.0

在这里插入图片描述

修改完再次执行编译命令(切记切记,一定要先保存修改的程序再编译),编译顺利通过

在这里插入图片描述

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