no matching function for call t o ‘ros::NodeHandle::subscribe(const char [5], int, void (*)())’解决

问题:

error: no matching function for call t
o ‘ros::NodeHandle::subscribe(const char [5], int, void (*)())’
ros::Subscriber sub_map = nh_.subscribe("/map", 10,copy_map);

copy_map函数:

void copy_map(){
ROS_INFO("hhh");
}
 

常见原因:

https://blog.csdn.net/weixin_43455581/article/details/90523967

我的原因:

copy_map函数中没有用到订阅的/map话题

修改后:

void copy_map(const nav_msgs::OccupancyGridConstPtr& map){
ROS_INFO("hhh");
}
编译通过
 
 
博文主要是总结自己的学习,因此有很多知识点没有提到,仅仅提了个人比较容易遗忘的或者非常重要的知识点。很多资料来源于网络和对一些课程的整理,侵权删。格式没花精力调整,望谅解。
原文地址:https://www.cnblogs.com/JuiceCat/p/12911130.html