Я начинающий программист на 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 есть фокус.
Я вызываю конструкторы и операции для класса Matrix из другого DLL-файла.
Я попытался сменить Debug Multithreaded (/ MTd) на Debug Multithreaded DLL (/ MDd), как это было предложено на многих форумах, но это не помогло решить проблему.
Любые предложения?
Заранее спасибо.
Я попробовал Multi- DLL (/ MD) в режиме деблокирования, и он сработал. С другой стороны, как многопоточные (/ MT), так и многопоточные DLL (/ MD) дают мне ту же ошибку в режиме отладки. – user2811175