Я работаю (по крайней мере, пытаюсь ...) над Какао приложением, которое использует несколько пользовательских Какао-фреймворков , и одна из этих платформ представляет собой смесь C ++ и Объективный код C ++ (в основном C ++ ) ... Проблема в том, что каждое освобождение памяти внутри этой структуры дает мне освобождаемый указатель не был выделен *Ошибка 1012 *, даже в следующем тривиальном случае:
class testClass
{
public:
testClass() { }
virtual ~testClass() { }
};
void test()
{
testClass *p = new testClass();
delete p;
// malloc: *** error for object 0x2800510: pointer being freed was not allocated
//*** set a breakpoint in malloc_error_break to debug
p = NULL;
}
malloc_error_break сообщает мне, что деструктор объекта вызывается , однако при каждом следующем выделенииувеличивает адрес объекта, поэтому память действительно не освобождается ... Скажите, пожалуйста, ПОЧЕМУ?!
Мне нужно использовать Mac OS X 10.6.0 , XCode 3.2.1 , Apple GCC 4.2.1 .