我写一个画像素画的程序, 想用链表来保存各个图层的图像, 这样增加删除图层, 改变图层顺序都比较方便.
但是我像下面那样用malloc申请到的图片操作不了, 对它绘画和改尺寸都会报错.
0x002A140E 处有未经处理的异常(在 sy1.exe 中) :0xC0000005 : 读取位置 0xCDCDCDD5 时发生访问冲突。
请问有什么方法可以建立含有图像变量的链表吗 ?
//win10 vs2019 C++
#include <graphics.h>
#include <conio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct layers //定义 图层 结构体
{
IMAGE img;
int n;
struct layers* next;
}Layer;
Layer* creatlayer(int n) //创建第n个图层
{
Layer* head = (Layer*)malloc(sizeof(Layer));
head->n = n;
head->next = 0;
return head;
}
int main()
{
initgraph(640, 480);
Layer* layer;
layer = creatlayer(1); //创建一个图层
SetWorkingImage(&layer->img);
Resize(&layer->img, 400, 400); //对创建的图层里的图片绘画或者改尺寸都会报错
//0x002A140E 处有未经处理的异常(在 sy1.exe 中) :
//0xC0000005 : 读取位置 0xCDCDCDD5 时发生访问冲突。
_getch(); // 按任意键退出
closegraph();
return 0;
}