紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
ROS2发布点云数据时报错发布数据类型不匹配
-
发布器的类型如下所示:
rclcpp::Publisher<sensor_msgs::msg::PointCloud2>::SharedPtr pub_transformed_cloud_;
然后下面这段代码会发生报错。
auto transformed_msg = std::make_shared<sensor_msgs::msg::PointCloud2>();
pcl::toROSMsg(*transformed_cloud, *transformed_msg);
transformed_msg->header = msg->header; // Copy the original header
pub_transformed_cloud_->publish(transformed_msg);
报错内容为:
error: no matching function for call to ‘rclcpp::Publisher<sensor_msgs::msg::PointCloud2_<std::allocator<void> > >::publish(std::shared_ptr<sensor_msgs::msg::PointCloud2_<std::allocator<void> > >&)’
请问是什么原因 -
@2659203119 publish函数的传入的参数必须是个消息变量,共享指针的类型似乎不行
-
那请问这个具体需要把这个transformed_msg改成什么类型的呢?
-
解决了,谢谢谢谢