ここでも私たちは再びインターネットの良い人です。変数が動的配列(C++)で使用されているときに変数が参照解除されているようです
//This is what is in the header file
int *myArr[]; // A two-dimensional array representing holding the matrix data
//This is what is in the definition file
Matrix::Matrix(int n, int m)
{
myRows = n;
myColumns = m;
initialize();
}
void Matrix::initialize()
{
*myArr = new int[myRows];
for (int i=0; i < 3; i++)//Only set to 3 since myRows is acting crazy
{
myArr[i] = new int[myColumns];
}
}
を何らかの理由で、私はちょうどそれが前を向いていた値を参照して停止するようだmyArr配列を作成するmyRows変数を使用する場合:
これは私が使用しているコードです。
たとえば、値3を与え、* myArr = new int [myRows]が実行された後、myRowsの値が9834496に変更されますが、これはわかりません。
「新しい」変数の参照を解除しますか? または何か間違っていますか?
ああ、これは学校の練習プロジェクトです(回答しないとあなたのせいにしません)。私は将来のプロジェクトで間違っていたことを知るために、作業コードの回答が好きです。
したがって、myArr変数はint *の配列ですか? – ThePragmatist
シンプルで難しいアプローチは、ベクトルのベクトルを使用することです。まだまだ醜いですが、はるかに優れています。 –
私が理解しているように、myArrはポインタのポインタです。しかし私は間違っている可能性があります。 – Siemsen