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

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

/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);
^
ROS学习过程中的错误记录3 - 回调函数易出现的错误(C++)
ROS学习过程中的错误记录3 - 回调函数易出现的错误(C++)
wtf,,,,,?!?!?!wtf,,,,祥哥表示一脸懵逼,我明明是写了回调函数的啊 ? ! ? ! ? !

codefather,,!!!赶紧把code father简鸡蛋同志叫过来看了一眼,大佬不愧是大佬,一语惊醒梦中人!!!
ROS学习过程中的错误记录3 - 回调函数易出现的错误(C++)
bool,,0.0回调函数的类型手残写成了bool型,而人家明明没有返回值,难怪编译器找不到它0.0

ROS学习过程中的错误记录3 - 回调函数易出现的错误(C++)
(,),.修改完再次执行编译命令(切记切记,一定要先保存修改的程序再编译),编译顺利通过.
ROS学习过程中的错误记录3 - 回调函数易出现的错误(C++)

总结:

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