【发布时间】:2014-03-26 11:43:40
【问题描述】:
我练习结构,但我遇到了这样的错误:
操作数类型不兼容(“node*”和“int”), 其中 node 是 mu 结构的名称。在 (p->next == p->val) 中的 while() 中出现错误。如何检查列表中的下一个对象是否是我正在寻找使其工作的对象?
代码必须从列表中删除我给定的编号,并且需要使用这种结构。
struct node
{
int val;
node *next;
};
void DelGiven(node *H, int x)
{
node *p = H;
if (H != NULL)
{
while ((p->next != NULL) && (p->next == p->val))
{
node *p2;
p = p->next;
p2 = p->next;
p->next = p2->next;
delete p2;
}
}
}
【问题讨论】:
-
这段代码你打算做什么?你要删除 p 之后的所有节点,除非
(p->next == p->val),但这意味着p->next == p->val吗?