首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带字符串的RapidJson kArrayType

带字符串的RapidJson kArrayType
EN

Stack Overflow用户
提问于 2016-09-22 06:20:12
回答 2查看 6.4K关注 0票数 3

我有以下代码,但它无法编译。我想不出原因了,拜托了。

代码语言:javascript
复制
rapidjson::Document jsonDoc;
jsonDoc.SetObject();
rapidjson::Document::AllocatorType& allocator = jsonDoc.GetAllocator();

rapidjson::Value messageArr(rapidjson::kArrayType);

std::string test = std::string("TEST");
messageArr.PushBack(test.c_str(), allocator);

给我跟随错误;

错误:对‘rapidjson::GenericValue >::PushBack(const char*,rapidjson::GenericDocument >::AllocatorType&)的调用没有匹配函数 messageArr.PushBack(test.c_str(),分配器);

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-22 06:27:22

编辑-解决办法:

代码语言:javascript
复制
  std::string test = std::string("TEST");
  rapidjson::Value strVal;
  strVal.SetString(test.c_str(), test.length(), allocator);
  messageArr.PushBack(strVal, allocator);

请参阅RapidJson教程-创建字符串

流畅的风格:

代码语言:javascript
复制
 messageArr.PushBack(
      rapidjson::Value{}.SetString(test.c_str(), test.length(), allocator),
      allocator
  );
票数 6
EN

Stack Overflow用户

发布于 2018-12-04 10:38:13

代码语言:javascript
复制
using namespace rapidjson;
using namespace std;

Value array(kArrayType);
string test = "TEST";
Value cat(test.c_str(), allocator);
array.PushBack(cat, allocator);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39631632

复制
相关文章

相似问题

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