C++ 错误 prototype for ... does not match any in class

本文分享了一个在代码审查中发现的奇怪Bug,一个未声明的函数被调用,但编译器未给出提示。通过仔细检查并实现该函数,最终解决了这个问题。

今天遇到这样一个奇怪的 bug,搜了半天没搜到,最后审查代码的时候发现报错函数内 调用了一个没有声明的函数 。但是编译器没有给我提示,发现它耗费了一定的时间。最后我将这个函数声明并实现了,这个 bug 就没了。

[ 98%] Building CXX object miyu_planner/CMakeFiles/miyu_planner.dir/src/miyu_planner.cpp.o In file included from /home/frj/bobac3_ws/src/miyu_planner/src/miyu_planner.cpp:1:0: /home/frj/bobac3_ws/src/miyu_planner/include/miyu_planner.h:15:47: error: ‘tf’ has not been declared void initialize(std::string name, tf::TransformListener* tf, costmap_2d::Costmap2DROS* costmap_ros); ^~ /home/frj/bobac3_ws/src/miyu_planner/include/miyu_planner.h:15:68: error: expected ‘,’ or ‘...’ before ‘*’ token void initialize(std::string name, tf::TransformListener* tf, costmap_2d::Costmap2DROS* costmap_ros); ^ /home/frj/bobac3_ws/src/miyu_planner/src/miyu_planner.cpp:34:10: error: prototype for ‘void miyu_planner::MiyuPlanner::initialize(std::__cxx11::string, tf::TransformListener*, costmap_2d::Costmap2DROS*)’ does not match any in class ‘miyu_planner::MiyuPlanner’ void MiyuPlanner::initialize(std::string name, tf::TransformListener* tf, costmap_2d::Costmap2DROS* costmap_ros) ^~~~~~~~~~~ In file included from /home/frj/bobac3_ws/src/miyu_planner/src/miyu_planner.cpp:1:0: /home/frj/bobac3_ws/src/miyu_planner/include/miyu_planner.h:15:18: error: candidate is: void miyu_planner::MiyuPlanner::initialize(std::__cxx11::string, int) void initialize(std::string name, tf::TransformListener* tf, costmap_2d::Costmap2DROS* costmap_ros); ^~~~~~~~~~ In file included from /opt/ros/melodic/include/class_loader/class_loader_core.hpp:47:0, from /opt/ros/melodic/include/class_loader/class_loader.hpp:46, from /opt/ros/melodic/include/class_loader/multi_library_class_loader.hpp:42, from /opt/ros/melodic/include/pluginlib/class_loader.hpp:38, from /opt/ros/melodic/include/costmap_2d/costmap_2d_ros.h:50, from /opt/ros/melodic/include/nav_core
04-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值