鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    ROS2 服务请求变量的定义

    已定时 已固定 已锁定 已移动
    ROS 2相关问题
    定义服务变量 服务中类的实现 ‘’
    2
    2
    355
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 凌云凌
      凌云
      最后由 编辑

      在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>>>”
      非常感谢。

      小鱼小 1 条回复 最后回复 回复 引用 0
      • 小鱼小
        小鱼 技术大佬 @凌云
        最后由 编辑

        @凌云 可以看一下动手学ROS2的文档和代码,我都是用类来实现的

        新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

        1 条回复 最后回复 回复 引用 0
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS