在这里,我们再次成为互联网的好人。
这是我正在使用的代码:
//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];
}
}
出于某种原因,当我使用 myRows 变量创建 myArr 数组时,它似乎停止引用它之前指向的值。
例如,我给它赋值 3,在执行 *myArr = new int[myRows] 之后,它会将 myRows 的值更改为 9834496,我不明白。
“新”是否取消引用变量或其他内容?还是我做错了什么?
哦,因为这是一个学校练习项目(所以如果你不回答,我不会怪你)我更喜欢答案而不是工作代码,这样我就可以知道我在未来的项目中做错了什么。