我是C++的初學者程序員。最近,我開始使用C++處理圖像處理。我試圖定義和使用簡單的功能,如:指定給RtlValidateHeap DLL的地址無效
Matrix MVE(Matrix R)
{
Matrix *X = P.T();
invX = *X->Inverse();
delete X;
return invX;
}
或
Matrix MVE(Matrix R, double tolerance)
{
int n = R.Y();
int m = R.X();
Matrix X(n,m);
for (int i = 0; i < n; ++i)
M[i][m] = tolerance * R[i][m-1];
return M;
}
有在釋放模式沒有問題,但是當我在debbug模式下運行,我得到以下錯誤:
Windows在plappd.exe中觸發了一個斷點。 這可能是由於堆損壞引起的,這表明plappd.exe或它已加載的任何DLL中存在一個錯誤。 這可能也是由於用戶按下F12而plappd.exe有焦點。
我從其他DLL文件調用Matrix類的構造函數和操作。
我嘗試從Debug Multithreaded(/ MTd)更改爲Debug Multithreaded DLL(/ MDd),正如很多論壇所建議的,但它並沒有幫助解決問題。
有什麼建議嗎?
在此先感謝。
我試過Multi-線程DLL(/ MD)在發佈模式,它的工作。另一方面,多線程(/ MT)和多線程DLL(/ MD)在調試模式下給我同樣的錯誤。 – user2811175