Vector上的“Debug Assertion Failed”

时间:2016-10-20 02:28:01

标签: c++ arrays visual-studio vector

我知道这个问题经常被问到,然而对于我的生活,我无法弄清楚在哪里和为什么我得到一个断言失败。有人可以看看,看看我是否会失去理智?

int numMonsters = 0;
while(numMonsters < 40){
    for(int j = 0; j < 4; j++){
        for(int i = 0; i < 10; i++){
            gameMonsters.push_back(Monster(j, numMonsters));
            //cout << "Created new monster " << numMonsters << enld;
            numMonsters++;
        }
    }
}

int c = 0;
while(c < gameMonsters.size()){
    for(int a = 0; a < 10; a++){
        for(int b = 0;  b < 20; b++){
            board[a][b] = gameMonsters[c].getMonsterNum(); //breaks here
            c++;
        }
    }
}

任何帮助将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:0)

首先在容器中放入40个元素。  然后继续尝试访问200.您的两个嵌套循环总共运行10 * 20次。

这不会很好。