Advertisement

ROS 机器人技术 - 修复无法输出字符串问题!

阅读量:

一、输出「??」

在进行项目调试过程中,当输出 ROS 信息时,发现所设定的节点名称均显示为问号:

复制代码
    ROS_INFO("[%s]: camera_extrinsic_mat", kNodeName);
    
    
      
    

查看代码后意识到,问题出在将节点名称设置为 const 类型,但未对其进行正确的初始化操作,从而导致输出结果出现「??」。此时才惊觉自己对 C++ 语法已生疏至极,水平尚浅。以下为第一种用于初始化 const 变量的方式:

复制代码
    // 1. 先在类中定义
    private:
    	const std::string kNodeName;
    
    // 2. 构造函数初始化列表后初始化
    ClassName(): kNodeName("node_name")
    
    
      
      
      
      
      
      
    

第二种途径是在定义时添加 static 修饰符:

复制代码
    // 1. 在类中定义静态

全部评论 (0)

还没有任何评论哟~