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改成什么类型的呢?
-
解决了,谢谢谢谢