我是 C++ 向量编程的新手。我想初始化未知大小的二维矩阵,所以我来到了向量端。我有两个文件 1) .h 和 2).cpp。在 .h 文件中,我像这样初始化了向量
vector<vector<double> > vector_stor;
然后在.cpp中从另一个来源获得每个维度的大小后,我像这样重新调整向量的大小
size_X=5; //assumption
size_Y=5; //assumption
vector_stor.resize(size_X);
for(int i=0;i<size_X;i++)
vector_stor[i].resize(size_Y);
现在我想存储一个 .mat 文件中的数据,最初由 matIO 库读取,使用像这样的 Mat_VarRead 函数
Mat_VarReadData(vector_stor); //there are other arguments also but for demo just assume it
Mat_VarReadData 在 void* 数据中进行争论,我有 2D 向量。当我这样做时,它会给出错误
错误 1 错误 C2664:“Mat_VarReadData”:无法将参数从“std::vector<_Ty>”转换为“void *”
谁能指导我如何做到这一点?这对我很有帮助。
编辑部分:
matvar = Mat_VarReadInfo(mat,"data_struct");
field=Mat_VarGetStructFieldByName(matvar,"vect_stor",0);
int start[2]={0,0};
int stride[2]={1,1};
int edge[2];
edge[0]=field->dims[0];
edge[1]=field->dims[1];
Mat_VarReadData(mat,field,vector_stor,start,stride,edge);
其中vector_stor 是我寻求帮助的变量。
谢谢