list 丢失了
今天发现程序出了一个很奇怪的问题,上来请教各路大神。
void MakeStep(Step &step,list<CMyPoint> & goodstone,list<CMyPoint> & oppentgoodstone);
这是问题函数的声明
下面是定义。
if(goodstone.size()==0&&0==oppentgoodstone.size())
{
CMyPoint point;
point.x=9;
point.y=9;
makestep(step,point);
return;
}
if(!oppentgoodstone.empty())
{
Score score=estimate(oppentgoodstone.front());
if(score.connectionflag)
{
makethreatstep(step,oppentgoodstone.front(),score);
return;
}
}
if(goodstone.front().priority>=priority_good)
{
Score score=estimate(goodstone.front());
if(score.connectionflag)
{
makethreatstep(step,goodstone.front(),score);
}
}
else makestep(step,goodstone.front());
return;
}
在执行之前MakeStep之前oppentgoodstone。size=3,但是执行完之后oppentgoodstone.size的内容就变成(???)了。这是个什么情况?