缓冲区溢出c++,线程已退出,代码为0(0x0) 我正在使用C++和Visual Studio 2012进行工作。我收到此错误,线程已退出,代码为0(0x0)

缓冲区溢出c++,线程已退出,代码为0(0x0) 我正在使用C++和Visual Studio 2012进行工作。我收到此错误,线程已退出,代码为0(0x0),c++,visual-studio-2012,C++,Visual Studio 2012,我不知道为什么会发生这种情况,它发生在第一次迭代中。如果有人能解释为什么会发生这种情况,或者提供一个解决方案,我们将不胜感激。错误发生在前一个循环嵌套中的第一行之前。你要穿过5层甲板,而不是4层: for(int y = 0; y <= 4; y++){ 用于(int y=0;y我的意思是。哎哟。你认为这会导致问题吗?我们不允许使用标准算法。@user3078918:好吧,你应该仍然能够编写自己的Fisher-Yates shuffle或类似的东西。你当前的shuffle在4层shuff

我不知道为什么会发生这种情况,它发生在第一次迭代中。如果有人能解释为什么会发生这种情况,或者提供一个解决方案,我们将不胜感激。

错误发生在前一个循环嵌套中的第一行之前。你要穿过5层甲板,而不是4层:

for(int y = 0; y <= 4; y++){

用于(int y=0;y我的意思是。哎哟。你认为这会导致问题吗?我们不允许使用标准算法。@user3078918:好吧,你应该仍然能够编写自己的Fisher-Yates shuffle或类似的东西。你当前的shuffle在4层shuffle接近尾声时会变得非常慢,因为它会随机选择一个值0..207一遍又一遍,直到它最终找到最后一张牌…这似乎解决了问题,我想我会写我自己的Fisher-Yates shuffle。
deckRank[i] = deckCopy[index] / 10;
for(int y = 0; y <= 4; y++){
for(int y = 0; y < 4; y++){