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

    指针问题

    已定时 已固定 已锁定 已移动
    动手学ROS2
    指针 第三章
    2
    2
    142
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 1
      1351305422
      最后由 编辑

      rclcpp::Publisher<geometry_msgs::msg::Twist>::SharedPtr publisher_;
      rclcpp::Subscription<turtlesim::msg::Pose>::SharedPtr subscriber_;
      

      这两句的SharedPtr publisher_;和SharedPtr subscriber_;是白色的为什么

      1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        在 C++ 编程中,使用 rclcpp::Publisher<geometry_msgs::msg::Twist>::SharedPtr 和 rclcpp::Subscription<turtlesim::msg::Pose>::SharedPtr 类型的变量时,如果你在编辑器或 IDE(如 Visual Studio Code、CLion 或 Eclipse CDT 等)中看到这些变量的名称显示为白色(或者某种非彩色的、不突出的颜色),这通常是由几个原因造成的:

        1. 语法高亮设置:

          • 不同的 IDE 和编辑器有不同的语法高亮设置。这些设置决定了代码中的不同元素(如关键字、变量名、类型等)如何显示。
          • 在某些情况下,变量名可能被设置为一个不太突出的颜色,特别是当它们没有被显式声明为特定类型(例如,通过类型别名或宏)时。
        2. 类型复杂性:

          • 对于非常复杂的类型(如模板类型),一些编辑器可能无法很好地处理这些类型的语法高亮。这可能是因为类型解析器在处理模板时遇到了困难。
          • 在你的例子中,rclcpp::Publisher<geometry_msgs::msg::Twist>::SharedPtr 和 rclcpp::Subscription<turtlesim::msg::Pose>::SharedPtr 是模板类型的别名,这可能导致编辑器在解析和着色时遇到困难。
        3. 编辑器的局限性:

          • 并非所有编辑器都支持最新的 C++ 标准或特定库(如 ROS 2 的 rclcpp)的语法高亮。
          • 如果编辑器不支持 ROS 2 或相关库的语法高亮,那么这些库中的类型可能不会被正确着色。
        4. 配置问题:

          • 在某些情况下,编辑器的语法高亮配置可能已经被修改或损坏,导致某些元素无法正确着色。
          • 检查编辑器的设置或配置文件,确保语法高亮功能已正确启用且配置正确。
        5. 未定义的变量:

          • 如果这些变量名显示为白色,并且它们没有在代码的当前上下文中被定义,那么这可能是因为编辑器没有识别到这些变量。这通常发生在变量声明在其他文件中,或者由于代码结构复杂导致编辑器无法正确解析。

        为了解决这个问题,你可以尝试以下方法:

        • 更新编辑器:确保你的编辑器或 IDE 是最新版本,并且支持 C++11/14/17/20(取决于你的代码使用的标准)。
        • 检查语法高亮设置:查看编辑器的语法高亮设置,确保 C++ 代码被正确配置。
        • 重启编辑器:有时简单地重启编辑器可以解决着色问题。
        • 检查代码结构:确保你的代码结构清晰,变量声明和定义正确无误。
        • 使用其他编辑器:尝试使用不同的编辑器或 IDE,看看问题是否仍然存在。

        如果这些方法都不能解决问题,那么可能是编辑器的一个限制或 bug。在这种情况下,你可以考虑查看编辑器的官方文档或支持论坛,看看是否有其他人遇到了类似的问题。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

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