首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在capnproto C++生成的代码中设置列表的字符串项?

如何在capnproto C++生成的代码中设置列表的字符串项?
EN

Stack Overflow用户
提问于 2017-02-06 04:31:21
回答 1查看 652关注 0票数 2

我有这样的capnproto定义:

代码语言:javascript
复制
struct School {
  name @0 :Text;
  address @1 :Address;
  foundation @2 :Date;
  emailAddresses @3 :List(Text);
}

我想用类似这样的代码在构建器中设置emailAddresses字段(但这不能编译):

代码语言:javascript
复制
static School::Builder random_School() {
  capnp::MallocMessageBuilder msg;
  School::Builder result = msg.initRoot<School>();
  result.setName(rand_str(36));
  result.setAddress(random_Address());
  result.setFoundation(random_Date());
  result.initEmailAddresses(item_count);
  for (size_t i = 0; i < item_count; ++i) {
    result.getEmailAddresses()[i] = rand_str(37); // rand_str returns std::string
  }
  return result;
}

执行此操作的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-06 05:00:21

根据列表部分中的capnproto值,您应该使用builder.set( documentation,value)。

代码语言:javascript
复制
result.getEmailAddresses().set(i, rand_str(37));

我想它现在应该可以编译了。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42056958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档