void JudgeGrap(struct Mine* h)
{
struct Mine* p = h;
//判断抓到那个物品
for (int i = 0; i < MAX_MINE; i++)
{
if (p->flag == true &&hok.endx > p->x && hok.endx<p->x + p->size
&& hok.endy>p->y && hok.endy < p->y + p->size)
{
hok.index = i;
break;
}
p = p->next;
}
p = h;
//如果抓到了
if (hok.index != -1)
{
int u = 0;
if (u == 0)
{
sole.num = 0;
u = 1;
}
for (int i = 0; i < 10; i++)
{
p = p->next;
}
hok.state = M_SHORT;
p->x = hok.endx;问题在这里会显示引发了异常: 写入访问权限冲突。
**p** 是 nullptr。求大佬解答,谢谢!
p->y = hok.endy;
sole.num = sole.num + 1;
//缩短完成
if (distance(hok))
{
if (p->gold == 1)
{
sole.coin = 0;
}
else
{
sole.coin = sole.coin + p->gold;
}
p->flag = false;
hok.index = -1;
hok.state = M_NOMAL;
}
}
p = h;
}
整个链表有几个节点呀?如果刚好10个节点,p应该已经是nullptr了呀。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y
for循环10次是为什么,如果你是要取链表最后的节点
while(p->next != NULL)
p = p->next;