阅读Protocol Buffer Basics: C++,没有发现任何符合情况的内容:;使用以下.proto处理--cpp_out
,
message A {
required int32 foo = 1;
}
message B {
optional A data = 1;
}
没有生成明显的访问器/设置器来设置自定义可选字段(包括我懒得放在这里的“嵌套类型”部分):
// accessors -------------------------------------------------------
// optional .A = 1;
inline bool has_a() const;
inline void clear_a();
static const int kAFieldNumber = 1;
inline const ::A& a() const;
inline ::A* mutable_a();
inline ::A* release_a();
那么,如何在 C++ 中将 B::A 设置为某个 A 实例?
测试文件:.proto,生成的结果:.h,.cc和一些.java
更新:在 Java 中,嵌套字段是通过 Builder 设置的:例如,请参见上面的链接(查找setData)。