我正在尝试将json
- 容器从JSON库JSON for Modern C++ 转换为vector
,但它不适用于=
- 运算符(I得到编译器错误"多个运算符" ="匹配这些操作数")。
最低工作示例:
#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 here。
使用带有vector<double> copy = j;
的构造函数,我可以编写copyWithAssign = copy;
,但这看起来很愚蠢。必须有一种直接的方式将j
分配给之前已声明和构建的vector
。
我认为编译可能会有所帮助,因为编译器无法决定使用哪种类型。我试过(vector<double>)j
,但这没有用。