我目前正在編寫我的第一個C++程序,並且到目前爲止,即使它不完整,我也想在處理所有編譯器錯誤後嘗試一些測試運行。我將在以下鏈接中提供大部分代碼: http://pastie.org/8196032 http://pastie.org/8196025 由於我只允許發佈2個鏈接,因此ImageComparison的標題缺失,這不是很重要,我認爲。 stdafx.h包含必需的opencv和std庫。 我跑了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 * buffer;當圖像沒有元素時,ItoS(i,buffer);'還有'images [i-1]'。其中任何一個都有可能是99.9%的罪魁禍首。這個ic C++使用std :: string。 – stijn