复制将 json-容器分配给矢量
Copy assign json-Container to vector
我正在尝试将json
容器从用于现代C++的 JSON 的 JSON 转换为vector
,但它不适用于=
运算符(我收到编译器错误"多个运算符"="匹配这些操作数"(。
一个最小的工作示例:
#include "json.hpp"
using json = nlohmann::json;
using namespace std;
int main()
{
vector<double> v = { 0 , 10 , 20 , 100 };
json j(v);
vector<double> copy = j;
vector<double> copyWithAssign;
//copyWithAssign = j; // more than one operator "=" matches these operands
return 0;
}
你可以在这里找到json.hpp。
将构造函数与vector<double> copy = j;
一起使用,我可以写copyWithAssign = copy;
但这似乎很愚蠢。必须有一种直接的方法将j
分配给之前已声明和构造的vector
。
我认为强制转换可能会有所帮助,因为编译器无法决定使用哪种类型。我试了(vector<double>)j
,但这没有帮助。
应该使用
copyWithAssign = j.get<vector<double>>();
感谢Theodelrieu,他在这里发布了这个答案。
相关文章:
- 将数组的地址分配给变量并删除
- vector.resize()中的分配错误
- 在c++中使用nlohmann从类到json的转换
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- Win32编译器选项和内存分配
- 函数中堆分配的效果与缺少堆分配的情况
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 多个文件的内存分配错误"在抛出 'std :: bad_alloc' what (): std :: bad_alloc 的实例后终止调用" [C++]
- C++json插入数组
- 获取字符串的长度并将其分配给数组
- nlohmann-json将一个数组插入到另一个数组中
- 将地址分配给本地指针后,公共对象的变量将消失
- 如何使用curlpp通过POST方法上传文件和json数据
- 递归模板化函数不能分配给具有常量限定类型"const tt &"的变量"state"
- 有没有一种方法可以使用placement new将堆叠对象分配给分配的内存
- 我在二维向量中是否正确分配了内存
- JSON转换为nlohmann JSON-lib中的结构数组
- 正在尝试重载二进制搜索树分配运算符
- 复制将 json-容器分配给矢量
- 使用提升分配使用变量值初始化类似 JSON 的映射