ROS2 服务请求变量的定义
-
在ROS2官方教程中,服务的相关例程并没有像消息例程一样用类来实现,我想在项目中使用类来实现ROS2的服务功能。在例程中,使用了auto来定义这个请求变量,“auto request = std::make_shared<example_interfaces::srv::AddTwoInts::Request>();”,但是在使用类去实现时,必须要先定义成员函数,再在构造函数里进行赋值。
那么问题来了,这个原来例程里用auto定义的request应该定义为什么数据类型呢?我试过好多都报错了,比如“interface_process::srv::AddTwoInts requestCmd_”。提示信息比如:“no operator "=" matches these operandsC/C++(349)
interface_process.cpp(58, 25): operand types are: example_interfaces::srv::AddTwoInts = std::shared_ptr<example_interfaces::srv::AddTwoInts_Request_<std::allocator<void>>>”
非常感谢。 -
@凌云 可以看一下动手学ROS2的文档和代码,我都是用类来实现的