В настоящее время я пытаюсь запрограммировать массив объектов в программе на C++. Однако он продолжает давать мне ошибки при попытке создания массивов. Так что на вершине моего кода у меня есть следующий код:Объявление силового массива C++ без указания параметров
#define sensNumber 4
ros::Publisher pub_range2 [sensNumber];
это дает ошибку:
multisone2.ino:19:38: error: no matching function for call to ‘ros::Publisher::Publisher()’
Так он пытается вызвать конструктор для издателя, то почему? И как это остановить?
Теперь я знаю, что это также можно сделать с помощью векторов, но я пытаюсь оптимизировать код esp. для скорости чтения, поэтому я предпочел бы избегать векторов (да, я знаю, что он остается linair, но доступ к этому массиву представляет значительную часть моего кода).
Это странно - согласно [документации] (http://docs.ros.org/hydro/api/roscpp/html/classros_1_1Publisher.html), 'ros :: Publisher' * имеет * общедоступный конструктор по умолчанию, так что это должно сработать. Возможно, вам не хватает чего-то другого. – molbdnilo