经过测试回调函数中msg不需要另外定义;msg也不必和发布者中的数据名称相同;msg这个指针变量的名称也不是固定的,如写成msge一样可以;msg和下面的msg->data.c_str()需要对应;data.c_str()是和发布者发布数据相对应的;msg->name.c_str(),其中name是发布者定义的。
void chatterCallback(const std_msgs::String::ConstPtr& msg) //引用传递,这时存放的是由主调函数放进来的实参变量的地址
{
ROS_INFO(“i heard: [%s]”, msg->data.c_str()); //c_str()生成一个const char*指针,指向以空字符终止的数组。msg指向该数据 地址
}
回调函数中 const std_msgs::String::ConstPtr& msg中msg是否需要定义
最新推荐文章于 2024-06-18 14:27:53 发布