IMAGE类型变量超过一定数量后报错

1

当运行至initgraph提示0x7982440C (vcruntime140d.dll)处引发的异常: 0xC0000005: 写入位置 0x00000000 时发生访问冲突。

#include <graphics.h>  
#include <conio.h>
#include <stdio.h>
#include <chrono>
#include <vector>

IMAGE frame_list[5000];

int main()
{
	initgraph(800, 600, EW_SHOWCONSOLE);		// 初始游戏窗口画面,宽 800,高 600
	return 0;
}
ava
用户fe93

2021-5-12

0

IMAGE 对象含有若干重要的系统资源,因为系统资源有限,所以当数量太多的时候,会报错。

可以考虑用动态分配的方式,及时释放不需要的资源。

ava
慢羊羊

2021-5-12

有解决办法吗?需要自己实现一个图像类,在使用的时候new一个IMAGE然后再画出来? -  用户fe93  2021-5-12
@用户fe93 可以使用 IMAGE 指针,需要用的时候 new 出来,用完了以后 delete 掉。 -  慢羊羊  2021-5-15
技术讨论社区