c++程序抛出异常:: 0xC0000005: 写入位置 0xCDCDCDCD 时发生访问冲突?
1个回答
展开全部
这段代码有几个小问题:
如图标记1:这里虽然没错,但是建议最好不要返回NULL, 还是返回head。因为如果之前链表不为空,只是在加一个节点失败返回NULL,我想你也是用head来接收返回值。那就会因为一个失败把原来的链表没有头了,不能用但是一直占用内存。
如图标记2:这里如果链表为空,你的head是怎么初始化的,如果是初始化为NULL,那这里必然会失败出现你所描述的问题。建议你初始化为NULL,然后这里判断如果为NULL就返回node。
如图标记3:这一句在这里没有什么意义。
如图标记4:这里我猜想你的Node和Data是类对象,因为看你后面引用了类函数。那这里就要注意了,最好用new来创建对象,使用malloc创建对象是不会调用构造函数的,而new是会调用构造函数创建对象。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询