无法将重复字段添加到 protobuf?

Unable to add repeated field to protobuffer?

所以我正在尝试向 protobuff 添加一个重复的字段。但是,每当我使用 make 生成文件时,add_linkage 都不会进行任何争论,就好像它实际上无法读取链接应该采用的类型(它是另一个 protobuffer)。我在做什么错了原型缓冲区文件?

package model_velocity.msgs;
import "vector3d.proto";

message ModelVelResponse
{
  required string name = 1;
  required gazebo.msgs.Vector3d angularVel = 2;
  required gazebo.msgs.Vector3d linearVel = 3;
}

message ModelVel_V{
  repeated ModelVelResponse linkage = 1;
}

我需要做一些不同的事情吗?我需要调用不同的函数来重复消息吗?任何帮助将不胜感激。

add_linkage() 不接受任何参数。 repeated 消息类型的 add_x() 方法 return 一个指向消息的新空实例的指针。你需要做类似 ModelVelResponse* resp = my_vodel_vel_v.add_linkage(); 的事情。然后您可以根据需要分配给 returned 消息的字段。