В настоящее время я пишу свою первую программу на C++, и до сих пор, даже если она не завершена, я хотел попробовать несколько тестовых прогонов после рассмотрения всех ошибок компилятора. Я предоставлю большую часть кода в следующих ссылках: http://pastie.org/8196032 http://pastie.org/8196025 Поскольку мне просто разрешено публиковать 2 ссылки, заголовок для ImageComparison отсутствует, что не очень важно, я думаю. stdafx.h включает необходимые opencv и std libs. Я побежал GDB и получил этот результат:Ошибка сегментации с использованием OpenCV
Program received signal SIGSEGV, Segmentation fault.
0x000000000040655c in cv::Mat::release()()
(gdb) bt
>#0 0x000000000040655c in cv::Mat::release()()
>#1 0x0000000000406410 in cv::Mat::operator=(cv::Mat const&)()
>#2 0x00000000004052ed in ImageComparison::LoadImages()()
>#3 0x000000000040518e in ImageComparison::DoImCo()()
#4 0x0000000000405019 in main()
, который не дает мне никакого понятия, что здесь не так. Прошу прощения, если мой вопрос просто свалить, но я ценю любые предложения.
вы должны разместить короткий фрагмент кода, который может быть использован для воспроизведения вашей проблемы, а не все. – stijn
уверен, но я думал, что мой код очень прост, понятен, и в большинстве случаев люди просят предоставить больше кода – Auberotte
, вероятно, здесь не понадобятся: на первый взгляд функции LoadImages я вижу буфер 'char *; ItoS (i, buffer); ', а также' images [i-1] ', когда изображения не имеют элементов. Любой из них - 99,9%, вероятно, будет виновником. Этот ic C++ использует std :: string. – stijn