Попытка подключиться к ROS с помощью rosserial-windows. Ошибка с IP-адресом

Я пытаюсь подключиться к ROS с помощью Windows. Я следую инструкциям на сайте ROS (http://wiki.ros.org/rosserial_windows/Tutorials/Hello%20World)
вот как выглядит мой код:
// ConsoleApplication1.cpp: Определяет точку входа для консольного приложения.
//

#include "stdafx.h"#include <string>
#include <stdio.h>
#include "ros.h"#include <std_msgs/Float32.h>
#include <windows.h>

using std::string;

int main(int argc, _TCHAR * argv[]){
ros::NodeHandle nh;
char* ros_master = "172.17.194.162"; //error1
printf("Connecting to server at %s\n", ros_master);
nh.initNode(ros_master);//error2
printf("Advertising message\n");
std_msgs::Float32 a;
ros::Publisher cmd("/truevision/throttle_cmd", &a);
nh.advertise(cmd);
printf("Go Car!\n");
while (1){
nh.spinOnce();
Sleep(100);
}
printf("All done\n");
return 0;
}

Это дает мне ошибки

E0144 - const cahr cannot be used to initialize an entity of type char
C2664 - cannot convert argument 1 from const char to char

Но именно так это и делается в учебнике. не могу понять, что здесь не так.

1

Решение

Этот код больше похож на простой C, и многие соглашения неверны, но попробуйте изменить char* ros_master = "172.17.194.162"; в std::string ros_master = "172.17.194.162";

Лучшая форма этого кода будет использовать std::cout (поскольку это часть C ++, а не C) и не будет использовать while (1) (как while(true) будет более читабельным).

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector