运行时执行崩溃

时间:2016-02-04 11:46:07

标签: c++ linux eclipse

我在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 Maze,我得到的最后结果是:

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

其中Numero 0是从m.getvaluemap(i,j)得到的正确值......

在此之后它应继续使用cout Paso copiamaze,以表明我通过了copiamaze功能......但它会卡住并崩溃。

任何帮助都会被贬低..

1 个答案:

答案 0 :(得分:-1)

正如@PW所示,我认为问题出现在CopiaMaze中,因为程序崩溃并且它不会显示消息&#34; Paso Copia Maze&#34;,如果我通过CopiaMaze,这只是一个注意的信号。

问题在于Minimax代码,你可以解决cerr改变cout的问题,你可以注意到错误来自minimax。那是另一个线索。

感谢您的帮助。