C++ でのベクトル プログラミングは初めてです。サイズ不明の2D行列を初期化したいのでベクトル側に来ました。1) .h と 2).cpp の 2 つのファイルがあります。.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_VarRead 関数を使用して、最初に matIO ライブラリによって読み取られた .mat ファイルからデータを保存したい
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 は、私が助けを求めている変数です。
ありがとう