我现在已经搜索了这个问题几天了,我尝试的任何东西似乎都没有用。我的程序结束时我得到它,否则程序运行得很好所以我"思考"它与析构函数有关。但我尝试循环遍历arrPtr并首先删除所有元素,但它并没有修复它。我正在使用Visual Studio。
我只是包含了部分代码。基本上,ComputerPlayer :: computer接收在main中声明和初始化的2D数组。然后它将它分配给一个已分配的数组,以便其余的Class函数可以查看它并决定要更改的元素。一旦它决定它改变了分配的数组指针,它改变了main中的原始数组元素。
我希望Destructor能够" unallocate"程序结束后阵列,因为我无法看到其他地方。
谢谢, 麦克
for (i = ImgLocation.Length; i > 0; i--)
{
int j = r.Next(i);
var k = ImgLocation[j];
ImgLocation[j] = ImgLocation[i - 1];
ImgLocation[i - 1] = k;
}
for (i = 0; i < 17; i++)
{
Deck[i] = Image.FromFile(ImgLocation[i]);
Bitmap card1 = new Bitmap("Assets\\Cards\\3.png");
Bitmap card2 = new Bitmap("Assets\\Cards\\11.png");
Bitmap card3 = new Bitmap("Assets\\Cards\\15.png");
Bitmap card4 = new Bitmap("Assets\\Cards\\27.png");
Bitmap card5 = new Bitmap("Assets\\Cards\\33.png");
Holder[12].Image = card1;
Holder[13].Image = card2;
Holder[14].Image = card3;
Holder[15].Image = card4;
Holder[16].Image = card5;
}