当前位置 博文首页 > 【欢迎关注,一起学习,共同进步!】:【C++】char *a[] 作为实
#define NCAMERA 2
bool enableSrv(const char **name, int name_len, std::string srvName)
{
ros::ServiceClient client;
webots_ros::set_int srv;
const char *name_ = NULL;
name_ = *name++;
for (int i = 0; i < name_len; i++)
{
//请求服务 superMarketRobot/kinect_xxx_color/enable
client = n->serviceClient<webots_ros::set_int>(ROS_NODE_NAME + std::string("/") + name_ + srvName);
srv.request.value = 64;
if (client.call(srv) && srv.response.success)
ROS_INFO("[%s] succeed...", srvName.c_str());
else
{
ROS_ERROR("[%s] failed...", srvName.c_str());
return false;
}
ROS_INFO("name_ = %s\n", name_);
name_ = *name;
}
return true;
}
int main()
{
const char *cameraNames[NCAMERA] = {"camera_front", "camera_behind"};
enableSrv(cameraNames, NCAMERA, std::string("/enable"));
}
参考:
[1] C 函数参数 char **s与char s[]
[2] C语言中p++ ,(p)++ ,++p ,++*p的区别