Я пытаюсь составить эскиз C++ Arduino, который использует тип данных ROS Float64MultiArray, а некоторые examples говорят, вы должны инициализировать это нравится:Запроса члена «размер» в Float64MultiArray, который имеет типа неклассовой
std_msgs::Float64MultiArray array_msg;
array_msg.data.resize(9);
Однако, пытаясь скомпилировать мой минимальный эскиз:
#include <std_msgs/Float64MultiArray.h>
std_msgs::Float64MultiArray vec3_msg;
void setup() {
vec3_msg.data.resize(3);
}
void loop() {
}
дает мне ошибку:
main.ino: In function 'void setup()':
main.ino:6:19: error: request for member 'resize' in 'vec3_msg.std_msgs::Float64MultiArray::data', which is of non-class type 'std_msgs::Float64MultiArray::_data_type* {aka float*}'
vec3_msg.data.resize(3);
^
Что я делаю неправильно?
Пятно на. Ни один из документов не упоминал, что библиотека переключает реализации, но имеет смысл, что она может это сделать. – Cerin