因此,我试图在probbuff中添加一个重复的字段。但是,每当我使用make生成文件时,add_linkage都不会进行任何争论,好像它实际上无法以链接应该采用的类型(这是另一个protobuffer)读取一样。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()方法返回一个指向消息的新的空实例的指针。您需要执行类似ModelVelResponse* resp = my_vodel_vel_v.add_linkage();的操作。然后,您可以根据需要分配给返回消息的字段。

关于c++ - 无法将重复的字段添加到protobuf?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31522156/

10-13 08:21