结构体的成员赋值问题
/*struct PointStore{
int x;
int y;
}PointStore[10000];*/
//CvPoint PointStore[10000];//保存跳跃预选点的和从跳越预选点中找到的最相似坐标数组
//for (j=0;j<srcheight-Temheight;j++)
for (j=300;j<600;j+=2)
{
//for (i=0;i<srcwidth-Temwidth;i++)
for (i=300;i<700;i+=2)
{
ROIRECT=cvRect(i,j,Temwidth,Temheight);
cvSetImageROI(src,ROIRECT);
matchValue=GetSimilarity(Temsrc,src);
cout<<matchValue<<endl;
cout<<"坐标"<<i<<","<<j<<endl;
/*if (matchValue>medianmaxvalue)//找到跳跃的最大值和最大相似点
{
medianmaxvalue=matchValue;
jumpmaxy=j;
jumpmaxx=i;
}*/
if (matchValue>valuethreshold)//找到通过阈值跳跃的预留点的信息
{
PointStore[valuepointflag].x=i;
PointStore[valuepointflag].y=j;
valuepointflag++;
cout<<"预留点的位置"<<PointStore[valuepointflag].x<<"."<<PointStore[valuepointflag].y<<endl;
}
这段代码的中间的还以大家可以不看,但是问题就出现在最后一个if语句,当i和j的值赋值给PointStore[valuepointflag]这个结构体数组里面的结构体时,通过调试发现,当时赋值的时候,值是赋进去了,但是一旦这个语句执行完,<PointStore[valuepointflag].x和<PointStore[valuepointflag].y马上回复乱码值,即又是系统默认的值。。。。。球为什么??