我正在尝试创建一个随机数生成器,它会逐渐输出+1随机生成的数字。我的问题是,在最后一个循环之后,MVS抛出异常,
“RandomGame.exe触发了一个断点。发生了。”
我知道这与内存位置被破坏有关,这是有意义的,因为我正在使用动态大小的阵列,但我不知道如何前进。
int size = 1;
int* array = new int[size];
for (int x = 0; x < 5; x++)
{
for (int i = 0; i < size; i++)
{
array[i] = (rand() % 100) + 1;
cout << array[i] << endl;
}
size++;
}
return 0;
我希望程序给我15个随机生成的数字然后返回0.当它输出数字时,在它完成之后,它会抛出异常。
当你宣布array
时,new int[size]
的大小固定为1。之后你用size
增加了size++
变量,但是数组的大小没有增加。如果您想要灵活的阵列大小,建议使用std::vector
。