运行时执行崩溃

问题描述:

我在Eclipse这个问题,在Geany似乎它的作品确定...运行时执行崩溃

void CopiaMaze(int MazeCopia[][COLUMNS]) 
{ 
    int i,j; 
    for(i=0; i < ROWS; i++){ 
     for(j=0; j < COLUMNS; j++){ 
      cout << "Fila Columna" << i <<j; 
      MazeCopia[i][j] = m.getValueMap(i,j); 
      cout << "Numero" << MazeCopia[i][j] << endl; 
     } 
    } 
} 

我试着在这种情况下,行复制的数组19列40

使用是:

int inteligentMinimax(int jugador) 
{ 

     int minimaxValue=0; 
     int mazeTemp[ROWS][COLUMNS]; 

     fillCharacters(); 

     bestMovementPath.clear(); 

     CopiaMaze(mazeTemp); 

     cout << "Paso Copia Maze"; 

     cout << "Characters:" << CharactersLocationsMaze; 

     cout << "Minimax Value es: " << minimaxValue << "Depth :" << depth << "jugador:" << jugador; 

     //Inicializo Minimax con los puntos del pacman a cero, direccion sin definir 0 y profunidad 10 que es variable global. 
     minimaxValue = minimax(mazeTemp, 0, 0, depth, jugador); 

     cout << "Minimax Value es: " << minimaxValue << "Direction :" << bestMovementPath[1]; 

     return bestMovementPath[1]; 
    } 

所以我的Copia迷宫进入最后的结果我得到的是:

Fila Columna1833Numero0 
Fila Columna1834Numero0 
Fila Columna1835Numero0 
Fila Columna1836Numero0 
Fila Columna1837Numero0 
Fila Columna1838Numero0 
Fila Columna1839Numero0 

哪里NÚMERO0是正确的值从m.getvaluemap(I,J)获得...

在此之后应继续与COUT埃尔帕索copiamaze,表明我通过copiamaze功能...但它卡住并崩溃。

任何帮助将apreciated ..

+0

您显示的代码绝对没有错。你需要的唯一帮助是写一个[mcve]的帮助。 –

+0

注意到'CopiaMaze'call和'minimax'之间的3'cout'没有被刷新,那么你的bug很可能位于minimax中。你可以通过'endl'(使用换行符作为效果)或'flush'来刷新cout –

由于@PW节目我认为这个问题是CopiaMaze的程序崩溃,它不会告发显示消息“埃尔帕索的Copia迷宫”,这只是一个注意到,如果信号我通过了CopiaMaze。

问题出在Minimax代码中,您可以通过cerr解决更改cout的问题,您可以注意到该错误以minimax形式出现。那是另一个线程。

感谢您的帮助。