0

我有一个消息类:

message Foo {
     repeated Foo2 field = 1;
}
//Foo2 is another message

在我的 cpp 文件中:

Foo* ci1;
Foo* ci2;
//call some function to to assign values to ci1->field(0)
function( ci1 )
//try to copy ci1-field(0) to ci2->field(0)
ci2->set_field( 0, ci1->field(0) );

但是我收到一条错误消息:错误:'Foo'没有名为'set_field'的成员为什么它将set_field作为成员而不是函数set_成员字段读取?我是协议缓冲区的新手,所以任何帮助都将不胜感激!

谢谢!

4

1 回答 1

0

试试*ci2->add_field() = ci1->field(0)

更一般地,您需要了解 protobuf 如何映射到类,以及如何处理每种类型的字段。详细信息在文档中。

于 2013-09-07T18:22:00.240 回答