Debug Error! R6010 -abort() has been called

 

网上说的什么因为多线程调用

额的貌似跟那个毫不相关

最后发现是

points1 = cvCreateMat(2,numPoints,CV_32FC1);
 points2 = cvCreateMat(2,numPoints,CV_32FC1);
 cvZero(points1);
 cvZero(points2);
 matchingslist::iterator ptr = matchings.begin();
 for(int i=0;i<numPoints;ptr++,i++)
 {
  cvmSet(points1,1,i,ptr->first.x);
  cvmSet(points1,2,i,ptr->first.y);//这里的行标超出范围了,只能0和1
  cvmSet(points2,1,i,ptr->second.x);
  cvmSet(points2,2,i,ptr->second.y);//这里的行标超出范围了

 }

你可能感兴趣的:(多线程,iterator)