我有一个现有的json结构,并且尝试在json树中将2D的双精度数组添加到新的Value中。这是显示我尝试执行的功能的函数,其中带注释的选项是定义<vector>
而不是2D的双精度数组(两种类型都给我相同的错误输出):
bool My_class::input_2D_array (Value& object_list, geom_object *obj_f) {
Value v;
// n_verts is the number of "vertices[]" in the for loop below
double vert_list[obj_f->n_verts][3];
//std::vector<std::array<double, 3>> vert_list(obj_f->n_verts);
for(int i=0; i < obj_f->n_verts; i++) {
vert_list[i][0] = obj_f->vertices[i]->x;
vert_list[i][1] = obj_f->vertices[i]->y;
vert_list[i][2] = obj_f->vertices[i]->z;
}
v["vertex_list"] = vert_list;
//v["vertex_list"] = vert_list.data();
object_list.append(v);
return true;
}
这是输出:
"object_list" :
{
"vertex_list" : true
}
这就是我想要的输出:
"object_list" :
{
"vertex_list": [
[
0.0,
0.0,
-0.625
],
[
0.4522545635700226,
-0.32857829332351685,
-0.2795122265815735
],
[
-0.17274247109889984,
-0.5316557288169861,
-0.2795124053955078
]
]
}
我在这里想念什么?