内存位置的std :: length_error但没有使用任何字符串

时间:2012-02-23 15:17:46

标签: c++ visual-studio

我收到了Unhandled异常:Microsoft C ++异常:内存位置的std :: length_error。

我有同一个类的以下两个构造函数实例:

   Extract Cam1Extractor(c1getFrame);

   Extract Cam2Extractor(c2getFrame);

当处于调试模式时,第一个on创建没有问题,但第二个抛出上面的异常。

构造函数如下:

Extract::Extract(IplImage* inputImage)
{ 
     imageSize=cvGetSize(inputImage);

     original=cvCreateImage( imageSize, 8,inputImage->nChannels);//4
     cvCopy(inputImage,original);
     temp1=cvCreateImage( imageSize, 8,1);
     temp2=cvCreateImage( imageSize, 8,1);
     tmpBinary = cvCreateImage( imageSize, 8,1);
     tmpOrig = cvCreateImage( imageSize, 8,inputImage->nChannels);//4
     filteredImage=cvCreateImage( imageSize, 8,1);
     originalID=cvCreateImage( imageSize, 8,inputImage->nChannels);//4
     fr=cvCreateImage( imageSize, 8,inputImage->nChannels);//4
     numB=0;
}

当我进入上面的构造函数以找到异常时,它甚至会开始执行内部的操作,立即在开始括号处断开。我假设为指针c2getFrame分配内存存在问题,这是一个图像指针(openCV的IplImage *)。

奇怪的是它在发布模式下运行良好!?!

任何想法都非常感激。一切顺利,

威尔

0 个答案:

没有答案