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

将指向结构体对象的指针作为函数参数,调用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条回答 默认 最新

  • 普通网友 领域专家: 编程技术技术领域 2015-04-07 13:48
    关注

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

    评论

报告相同问题?