C++ 指针 急!!

来源:百度知道 编辑:UC知道 时间:2024/07/08 19:45:07
int deleteValue = 1;
mpList* mk = new mpList();
mpList* knext = new mpList();
mpList* m = new mpList();
mpList* ml = new mpList();

ml->p.x = this->bPoint.x;
ml->p.y = this->bPoint.y;
ml->next = 0;
ml->value = this->surface[ml->p.x][ml->p.y];

m->next = ml;
mk->value = 0;
mk->next = ml;

while(mk!=NULL&&mk->next!=NULL)
{
int end = 0;
while(mk!=NULL)
{
knext = mk->next;
if(deleteML(&mk, deleteValue))
{
end = 1;
break;
}
mk = knext;
deleteValue++;
}
if(end==1)
break;
mk = m;
}
deleteAll(m);

问题在knext = mk->next; 跟踪编译器发现mk-》next是空的,mk-》value也是空的、。但是m-》next却不是空的

程序不全,看不出具体问题是什么,但是我觉得你的循环肯定是有问题的,
你先看你的内循环,终止时应该是mk=null吧,那么外循环也自然终止了,也就是说你的外循环最多只做一次,你再检查下把,画画图

CNJHDGHXGFJKHJFhFGJDGJVHKNXZHJDHVNCNV FHDHFIDHGISHGUDHGIUHUGHUDHGUHGUHFGUHG HDHFUHDUFGUTGRYGFGDYGFYGUYFGUFDGUGUFG HFUEHRUEY8RYEWR7YTR7ETYRUTURGTUFGYRGG B HGURYURET8REYERTYYTYRT8RYTUYRIYUYUFGHBNGGGGGGGGGGGGGGGGGGGGG