私はinitializer-list constructor
のためにすべてを正しく設定したと思っていましたが、明らかにまだ何かが残っています。私のMatrix class
のoverloaded constructor
と入力して、このタイプの入力からMatrix
を作成します。Matrix d = {{1,3}, {5,9};
私の定義の1つが間違っているとわかりますが、どれを解読できません。コピーコンストラクタで「未定義の参照」エラーが発生するのはなぜですか?
Matrix::Matrix(const i_list & list){
uint rows = list.size();
uint cols = list.begin()->size();
int i = 0;
mat = new double*[rows];
for(uint m = 0; m < rows; m++){
mat[m] = new double[rows];
}
for(uint n = 0; n < rows; k++){
for(uint w = 0; w < cols; w++){
mat[n][w] = *(list.begin()[n].begin[w] + i);
i++;
}
}
あなたはおそらく 'マトリックス(定数行列とのparam)'署名します。ここにコピーコンストラクタ[reference](http://en.cppreference.com/w/cpp/language/copy_constructor)があります。 – Ron
'mat [m] = new double [rows];'それは 'cols'であってはいけませんか? – Caleth
'i_list'は' std :: initializer_list> 'のエイリアスですか? –
Caleth