Как исправить ошибки boost :: bind при использовании одной и той же функции обратного вызова для нескольких тем в классе ROS - PullRequest
0 голосов
/ 12 апреля 2019

недавно я пишу код ROS в методе класса и хочу подписаться на разные темы, используя одну и ту же функцию обратного вызова.Однако это не сработало.

error /usr/include/boost/bind/bind.hpp:75: error: 'void (InterFace :: *) (const boost :: shared_ptr>> &, std:: __cxx11 :: basic_string &) 'не является типом класса, структуры или объединения typedef имя типа F :: result_type;

void Parameterfun(const cars::MotionConstPtr, std::string &names)  
{if (names== "velocity")  
ROS_INFO("velocity");}

ROS::Subscribe sub_1 = n.subscribe("/velocity", 100,boost::bind(&InterFace::Parameterfun, _1, &names_1));

ROS::Subscribe sub_2 = n.subscribe("/acceleration", 100, boost::bind(&InterFace::Parameterfun, _1, &names_2));

, поскольку в двух темах используется одна и та же функция обратного вызоваЯ хочу знать, какие данные я получаю по скорости темы, а какие по ускорению.

...