ROS:订阅函数无法识别我的回调方法
我收到此错误“错误:没有匹配的函数可调用 'ros::NodeHandle::subscribe(const char [24], int, <未解析的重载函数类型>)'
”
这是我的类 BangBangControlUnit 中的回调函数
// on message reciept: 'current_maintained_temp'
void current_maintained_temp_callback(const std_msgs::Int32::ConstPtr& msg){
temp_to_maintain = msg->data;
}
,这就是我在主函数中使用 subscribe 的方式
// subscribe to 'current_maintained_temp'
ros::Subscriber current_maintained_temp_sub = n.subscribe("current_maintained_temp", 1000, control.current_maintained_temp_callback);
有人能告诉我我做错了什么吗?
I am receiving this error "error: no matching function for call to ‘ros::NodeHandle::subscribe(const char [24], int, <unresolved overloaded function type>)’
"
This is my call back function in my class BangBangControlUnit
// on message reciept: 'current_maintained_temp'
void current_maintained_temp_callback(const std_msgs::Int32::ConstPtr& msg){
temp_to_maintain = msg->data;
}
and this is how I am using subscribe in my main function
// subscribe to 'current_maintained_temp'
ros::Subscriber current_maintained_temp_sub = n.subscribe("current_maintained_temp", 1000, control.current_maintained_temp_callback);
Can someone tell me what I did wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用类方法作为回调创建订阅者的正确签名如下:
因此,在您的情况下,您应该使用:
您可以阅读有关 C++ 中的发布者和订阅者的更多信息 此处。
The proper signature for creating a subscriber with a class method as callback is as follows:
So in your case you should use:
You can read more about publishers and subscribers in C++ here.