zwqStella 2015-04-07 12:01 采纳率: 0%
浏览 1706

将指向结构体对象的指针作为函数参数,调用p->时调试报错

void deleteelement(linearlist *list, int power)
{
linearlist *p = list;
while (p->power != power && p->next != NULL)
//调试时显示错误在这一行
{
p = p->next;
}
if (p->power == power)
{
linearlist *dele = p;
p = p->precursor;
p->next = dele->next;
p = dele->next;
p->precursor = dele->precursor;
free(dele);
}
else
cout << "不存在这个元素!" << " ";
}

//如上文,这个函数用于删除线性表中的一项,在调用函数时编译通过但调试出错,报错为 [下面的框架可能不正确和/或缺失,没有为 kernel32.dll 加载符号]
我觉得可能是指针传递不正确从而不能正确的使用p->next,但是有不懂应该怎么写,求大神解答

  • 写回答

3条回答 默认 最新

  • 91program 博客专家认证 2015-04-07 13:48
    关注

    可能是 delete 与 new 不匹配引起的,因为在代码中只看到了 delete 没有看到 new。

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大