Нарушение прав доступа при использовании std :: vector

Спасибо большое! Это действительно работает! Но. Почему память, которая испортилась? Первый. У меня есть некоторая загрузка памяти incv :: Mat

cv::Mat mat1 = cv::imread("bugero.jpg",3);

mat1 - [=====================================]

, затем я поместил копию этого cvMat в другой cv: Mat

cv::Mat temp(src.cols,src.rows,src.type());
cvtColor(src, temp,CV_BGR2RGB);

mat1  -  [=========================================]

temp  -  [=========================================]

, затем сделаю QImage из этих данных QImage dest = QImage ((uchar *) temp.data, temp.cols, temp.rows, temp.step, QImage :: Format_RGB888);

mat1  -   [============================================]

temp  - > [============================================]
         /
dest --/

И затем temp выходит за пределы области и удаляет ее самостоятельно ? QImage не принимает на себя ответственность за это, поэтому память в temp1 и dest помечена как свободная, и компилятор может поместить другие данные? Я прав?

0
задан Jean Finley 13 July 2012 в 22:46
поделиться