Я попытался очистить память неуправляемых классов от C++/cli finalizer, и это дало мне ошибку AcessViolation. Я делаю что-то вроде этого:Нарушение прав доступа к неуправляемой памяти из финализатора
MyClass::!MyClass()
{
if(_unmanaged)
{
_unmanaged->Delete();
_unmanaged = 0;
}
}
Может ли кто-нибудь знать, в чем проблема? Спасибо за ответы.
Что делает '_unmanaged-> Delete()' do? – Nick
_unmanaged, в моем случае, класс vtk, Delete - стандартная процедура для очистки объектов vtk. Это может быть другой метод неуправляемого класса, в любом случае это будет AccessViolation. –
Я не уверен, почему вы устанавливаете '_unmanaged' в ноль? – Nick