如何根据谷歌协议缓冲区的要求定义重复字段?

Meh*_*and 9 c c++ protocol-buffers protobuf-c

如何根据 Google 协议缓冲区中的要求定义重复字段?我有一个修饰符重复的字段(repeated int32 A )。如何向该字段添加所需的修饰符?事实上我想要两个修饰符(必需和重复)。

Ken*_*rda 8

抱歉,无法将重复字段标记为“必填”。

事实上,required它本身被广泛认为是一个缺陷,并在 Protobuf 3.0 中被逐步淘汰。有关为什么会出现这种情况的详细解释/咆哮,请参阅:

https://capnproto.org/faq.html#how-do-i-make-a-field-required-like-in-protocol-buffers

(这是 Cap'n Proto 网站的链接,该网站是 Protobufs 的竞争对手,但其作者(即我)也是 Protobuf v2 的主要作者。)