增加大小的随机数生成器触发断点

时间:2019-04-10 03:35:28

标签: c++ arrays random

我正在尝试创建一个随机数生成器,该生成器会逐渐输出+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。输出数字时,完成后会抛出异常。

1 个答案:

答案 0 :(得分:5)

声明array时,new int[size]的大小固定为1。之后,您使用size增加了size++变量,但是数组的大小没有增加。如果您想要灵活的数组大小,建议使用std::vector